График t-SNE почти полностью перекрывается, но оценка перекрестной проверки классификатора высока? - PullRequest
2 голосов
/ 06 апреля 2019

Я пытаюсь выполнить задачу двоичной классификации на наборе данных, состоящем примерно из 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участок указывает на полное совпадение?Должен ли я просто заняться классификацией моих данных без уменьшения размерности?

Спасибо!

...