Игорь Градов
Игорь Градов
5 мин
ai

PCA, t-SNE и UMAP: какой метод визуализации данных сохраняет структуру, а какой сливает кластеры

Компания или проект, к которому привязан этот материал, не названы в источнике: текст представляет собой обучающий разбор трёх алгоритмов снижения размерности (PCA, t-SNE, UMAP) без указания конкретного релиза, даты выхода, автора публикации и цены. Источник обрывается на середине раздела о t-SNE, информация о UMAP отсутствует полностью. Ниже я строю новость максимально близко к тому, что есть в оригинале, честно обозначая пробелы.

PCA, t-SNE и UMAP: какой метод визуализации данных сохраняет структуру, а какой сливает кластеры

Разбор трёх главных алгоритмов визуализации данных PCA, t-SNE и UMAP на бытовых примерах показывает, почему простая проекция на координатные оси теряет структуру и какой метод выбрать под конкретную задачу.

Почему это важно

Визуализация данных из десятков и сотен измерений на плоском экране требует «свёртки» пространства, и выбор алгоритма напрямую влияет на то, увидите вы реальные группы в данных или получите кашу из слипшихся точек.

Когда модель машинного обучения работает с векторами из сотен или тысяч координат, человеку нужен способ увидеть результат на привычном двумерном графике. Для этого существуют алгоритмы снижения размерности: они сжимают многомерное облако точек до двух-трёх осей, стараясь сохранить как можно больше информации о взаимном расположении данных. Три самых известных метода, PCA, t-SNE и UMAP, решают эту задачу по-разному, и разница принципиальна.

Что Когда Кто разработал Цена
PCA (метод главных компонент) классический метод линейной алгебры, используется десятилетия стандартный математический инструмент бесплатно, встроен в большинство библиотек
t-SNE опубликован в 2008 году Лоренс ван дер Маатен и Джеффри Хинтон бесплатно, открытые реализации
UMAP информация в источнике отсутствует информация в источнике отсутствует бесплатно, открытые реализации

Что делает каждый метод и в чём разница?

  • PCA (Principal Component Analysis, метод главных компонент) ищет направления наибольшего разброса данных и проецирует точки на эти направления. Работает линейно: считает ковариационную матрицу (таблицу, описывающую, как переменные меняются вместе), находит её собственные векторы (направления максимального разброса) и строит проекцию. Вычисляется быстро, время растёт пропорционально размеру набора данных.

  • t-SNE (t-distributed Stochastic Neighbor Embedding, стохастическое вложение соседей с t-распределением) фокусируется на сохранении локальных соседств: точки, которые были рядом в многомерном пространстве, должны остаться рядом и на плоскости. Глобальные расстояния при этом могут искажаться.

  • UMAP (Uniform Manifold Approximation and Projection) пытается удержать и локальную, и более глобальную структуру данных. Подробности метода в источнике не раскрыты.

Почему простая проекция на оси не работает?

Источник разбирает это на двух примерах из жизни.

Пример с квартирами. Берём тысячу объявлений с площадью и стоимостью аренды. Данные на графике вытянуты вдоль двух направлений, но разброс вдоль одного из них заметно сильнее. PCA находит это главное направление и проецирует точки именно на него. Если вместо этого просто «уронить» точки на горизонтальную ось, кажется, что результат похож, но на другом наборе данных разница становится критической.

Пример с заказами клиентов. Средний чек и число заказов в месяц у клиентов интернет-магазина образуют три отдельных кластера (группы, сегменты A, B и C). Проекция на ось X схлопывает два кластера в один. Проекция на ось Y делает то же самое. А проекция на главную компоненту PCA сохраняет все три группы. Визуализация данных через PCA здесь намного точнее отражает структуру, чем наивная проекция.

Где PCA сдаётся?

PCA опирается на линейные преобразования. Если данные закручены нелинейно, например, лежат на спирали, линейная проекция не может разделить точки по группам. Проблема не в выборе оси, а в том, что сама операция линейная, а геометрия данных нет.

Согласно гипотезе многообразий (manifold hypothesis), реальные данные занимают лишь небольшую область многомерного пространства. Число настоящих независимых факторов обычно намного меньше, чем число координат вектора. Локальная структура, то есть взаимное расположение ближайших соседей, оказывается важнее глобальных расстояний. PCA эту локальную структуру не учитывает: точки-соседи могут разлететься, а далёкие точки, наоборот, слиться.

Именно эта проблема и стала отправной точкой для создания t-SNE в 2008 году.

Как попробовать визуализацию данных самому?

  1. Установите библиотеку scikit-learn (Python): она содержит готовые реализации PCA и t-SNE. Для UMAP используйте библиотеку umap-learn.
  2. Подготовьте данные: таблица с числовыми колонками, например, CSV-файл с характеристиками товаров или клиентов.
  3. Вызовите метод, передайте данные, укажите целевую размерность (обычно 2) и постройте точечный график.

Российские аналоги и доступность

Все три метода реализованы в открытых библиотеках Python и доступны без ограничений в любой стране. Специфических российских аналогов нет, потому что это математические алгоритмы, а не коммерческие продукты. Если вы работаете в экосистеме «Яндекса» или «Сбера», PCA, t-SNE и UMAP доступны через стандартные инструменты DataSphere и подобные платформы, установка не отличается от любой другой страны.

Для тех, кто не пишет код: визуализация данных через PCA встроена в Google Sheets (через дополнения), а графический интерфейс для t-SNE и UMAP есть в TensorFlow Embedding Projector, который работает прямо в браузере.

Мнение редакции dzen.guru

Материал полезен как ликбез, но обрывается на полуслове: раздел про t-SNE не завершён, UMAP не разобран вообще. Для автора Дзена, который хочет визуализировать, скажем, кластеры своей аудитории или тематическое ядро, вывод такой: начинайте с PCA, он быстрый и понятный. Если результат похож на кашу и группы не видны, пробуйте UMAP, он лучше держит и локальную, и глобальную картину. t-SNE хорош для красивых карт, но капризен в настройке и медленнее на больших данных. Оговорка: ни один из методов не даёт «правильную» картинку, каждый жертвует частью информации, просто разной. Что сделать сегодня: откройте TensorFlow Embedding Projector в браузере, загрузите любой CSV и переключитесь между PCA и t-SNE, разница станет очевидна за минуту.

Частые вопросы

Нужно ли уметь программировать, чтобы использовать эти методы?

Нет. TensorFlow Embedding Projector работает в браузере без кода. Для PCA есть дополнения к Google Sheets. Но если вы хотите настраивать параметры (например, perplexity в t-SNE или число соседей в UMAP), базовый Python с scikit-learn освоить придётся.

Какой метод выбрать, если данных мало?

PCA. Он не требует большого объёма выборки, работает стабильно и предсказуемо. t-SNE и UMAP лучше проявляют себя на тысячах и десятках тысяч точек, где есть сложная нелинейная структура.

Можно ли доверять кластерам, которые видны на графике t-SNE?

С осторожностью. t-SNE оптимизирует локальные соседства, поэтому расстояния между кластерами на итоговом графике не отражают реальных расстояний в исходных данных. Видите три группы, проверьте их другим методом, прежде чем делать выводы.

Визуализация данных из многомерного пространства остаётся задачей компромисса: сохраняете одно, теряете другое. Лучшая стратегия не выбирать один алгоритм навсегда, а переключаться между PCA, t-SNE и UMAP на одном и том же наборе и сравнивать, какие структуры видны, а какие нет.

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Альтернатива ChatGPT в 8 раз дешевле: как не сломать бота китайскими иероглифами
ai

Альтернатива ChatGPT в 8 раз дешевле: как не сломать бота китайскими иероглифами

Платить за языковую модель в восемь раз меньше и не потерять качество можно, но китайская модель способна вставить иероглифы прямо в русский текст, и к этому…

6 мин
Транскрибация речи бесплатно и без облака: ставим Whisper на свой ПК за 30 минут
ai

Транскрибация речи бесплатно и без облака: ставим Whisper на свой ПК за 30 минут

Автор Дзена записал подкаст, провёл созвон или снял ролик, и теперь ему нужен текст: для статьи, субтитров или протокола встречи, а платить за онлайн-сервис не…

5 мин
Спортивная аналитика AI выходит за пределы топ-лиг: три кейса платформы AI4BI
ai

Спортивная аналитика AI выходит за пределы топ-лиг: три кейса платформы AI4BI

Спортивные клубы тратят недели на сбор статистики из разных источников, ручную сводку данных и подготовку аналитических отчётов, и всё равно получают картину с…

5 мин