Я посмотрел на ваш код, и кроме того, что можно поиграть с некоторыми параметрами, он выглядит так, как будто вы все визуализируете. Так как t-sne является довольно драматичным c нелинейным преобразованием данных, не всегда бывает, что группы, найденные с помощью алгоритмов кластеризации, также появляются при анализе t-sne.
Я запустил tsne ( без шага TruncatedSVD на данный момент) на предоставленных вами образцах данных и сгенерировал этот график внедрения tsne.
Это показывает, что группы, которые появляются в этом вложении, в основном состоят из членов тех же кластеров, назначенных с помощью K-средних, что означает, что есть по крайней мере некоторое сходство в группах, предлагаемых двумя алгоритмами.
Существует ли вероятность того, что основополагающая истина о количестве кластеров в данных не равна 3? В зависимости от того, почему вы выбрали 3 для значения «k», вы можете проверить это. Оценка по силуэту и Оценка по Калински-Харабазу являются двумя примерами мер, которые можно использовать для оценки качества подбора кластеров - вы можете запустить k-средних с различными значениями k и используйте оценки, чтобы определить, какое значение k возвращает кластеры, которые лучше всего соответствуют данным (согласно этим показателям). Вы также можете попробовать алгоритмы кластеризации, которые сами определяют значение «k».
Наконец, однако, с точки зрения других способов визуализации кластеров, PCA, SVD или TSNE являются общепринятыми методы уменьшения размерности, которые я знаю. Вы можете изучить различные кластеры, отыскивая (статистически значимые) различия в их необработанных характеристиках / colNames
.