Отказ от ответственности: у меня есть только косвенные знания по этой теме, но, поскольку никто не ответил, я попробую
Расстояние важно
Любой метод уменьшения размерности, основанный на расстояниях (tSNE, UMAP, MDS, PCoA и, возможно, другие), эффективен только в качестве метрики расстояния, которую вы используете. Как правильно указывает @amoeba, не может быть единого решения для всех, вам нужно иметь метрику расстояния, которая отражает то, что вы считаете важными в данных, то есть строки, которые вы считаете одинаковыми, имеют небольшое расстояние и строки, которые вы бы хотели Считать разные имеют большое расстояние.
Как выбрать хороший показатель расстояния? Во-первых, позвольте мне немного отвлечься:
рукоположение
Задолго до славных дней современного машинного обучения общественные экологи (и, скорее всего, другие) пытались составить хорошие графики для исследовательского анализа многомерных данных. Они называют порядок процессов, и это полезное ключевое слово для поиска в литературе по экологии, начиная с 70-х годов прошлого столетия и по-прежнему становясь сильным сегодня.
Важно то, что экологи имеют очень разнообразные наборы данных и имеют дело со смесью бинарных, целочисленных и вещественных признаков (например, наличие / отсутствие видов, количество наблюдаемых образцов, pH, температура). Они потратили много времени на размышления о расстояниях и преобразованиях, чтобы хорошо выполнять рукоположение. Я не очень хорошо разбираюсь в этой области, но, например, обзор разнообразия Legendre и De Cáceres Beta как дисперсии данных сообщества: различия в коэффициентах и разделениях показывают огромное количество возможных расстояний, которые вы, возможно, захотите проверить.
Многомерное масштабирование
Основным инструментом для определения местоположения является многомерное масштабирование (MDS), особенно неметрический вариант (NMDS), который я рекомендую вам попробовать в дополнение к t-SNE. Я не знаю о мире Python, но реализация R в metaMDS
функции vegan
пакета делает много трюков для вас (например, выполнение нескольких запусков до тех пор, пока не найдет два похожих).
Это оспаривается, см. Комментарии . Приятной особенностью MDS является то, что он также проецирует элементы (столбцы), чтобы вы могли видеть, какие функции влияют на уменьшение размерности. Это поможет вам интерпретировать ваши данные.
Имейте в виду, что t-SNE был подвергнут критике как инструмент для получения понимания, см., Например, это исследование его подводных камней - я слышал, что UMAP решает некоторые из проблем, но у меня нет опыта работы с UMAP. Я также не сомневаюсь, что одной из причин, по которой экологи используют NMDS, является культура и инерция, возможно, UMAP или t-SNE на самом деле лучше. Я, честно говоря, не знаю.
Выкатывая свое расстояние
Если вы понимаете структуру ваших данных, готовые расстояния и преобразования могут оказаться не самыми подходящими для вас, и вы можете захотеть построить собственную метрику расстояния. Хотя я не знаю, что представляют ваши данные, было бы разумно рассчитать расстояние отдельно для вещественных переменных (например, используя евклидово расстояние, если это имеет смысл) и для двоичных переменных и добавить их. Обычными расстояниями для двоичных данных являются, например, расстояние Жакара или расстояние Косинуса . Возможно, вам придется подумать о некотором мультипликативном коэффициенте для расстояний, поскольку у Джакарда и Косинуса оба значения в независимо от количества объектов, в то время как величина евклидова расстояния отражает количество объектов.[0,1]
Слово предостережения
Все время вам следует помнить, что, поскольку у вас так много регуляторов для настройки, вы можете легко попасть в ловушку настройки, пока не увидите то, что хотели увидеть. Этого трудно полностью избежать при предварительном анализе, но вы должны быть осторожны.