график t-SNE имеет почти полное перекрытие, но оценка перекрестной проверки классификатора высока?

#python #machine-learning #scikit-learn #data-visualization #dimensionality-reduction

#python #машинное обучение #scikit-learn #визуализация данных #уменьшение размерности

Вопрос:

Я пытаюсь выполнить задачу двоичной классификации для набора данных, содержащего около 20000 образцов и 40 объектов. Я вручную обработал набор данных — каждая функция является темой, а значение для этой функции и этот образец — это настроение, связанное с темой. Темы найдены с скрытым распределением Дирихле. В попытке визуализировать разделяемость и классификационный потенциал данных я использовал реализацию tSNE Scikit-Learn и построил как 2D, так и 3D графики результирующих преобразованных данных.

Два класса почти полностью перекрываются как на 2D, так и на 3D-графиках. Однако, когда я пробую разные классификаторы для исходных (до t-SNE) данных, я могу получить 5-кратные оценки перекрестной проверки в пределах 75-80%, поэтому я предполагаю, что модель не переобучает данные.

Я попытался поиграть с недоумением, используя значения от 5 до 200, и это не изменило уровень перекрытия в графике.

Мой код t-SNE:

 tsne = TSNE(n_components=2).fit_transform(data, data_target)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(*zip(*tsne),  c=data_target)
plt.show()
  

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

Спасибо!

Комментарии:

1. Если вы спрашиваете, не теряет ли t-SNE информацию при сопоставлении N>2 измерений с 2 размерами для построения графика, то будьте уверены: это базовая математика (попробуйте пронумеровать точки на окружности (2d); теперь сопоставьте их с числовой линией (1d), но сохраняя евклидовы расстояния!). Это плохо обусловленная проблема, и проблемы всегда будут. Поэтому это эвристическая работа, в целом довольно хорошая (чтобы «несколько» отобразить структуру).

2. @sascha спасибо за ответ. Я читал, что большое или полное перекрытие графика t-SNE указывает на низкий потенциал классификации, и мне было интересно, указывает ли это на какие-либо потенциальные проблемы с моим набором данных, которые мне придется изучить, отсюда и вопрос. Из того, что я прочитал, показалось, что редко можно получить результат, подобный моему.

3. Сначала попробуйте уменьшить количество функций с 40 до 10-20, используя PCA, затем примените tSNE, дайте мне знать, если это что-то изменит. Также попробуйте UMAP