PCA после кластеризации многомерных данных по k-среднимPython

Программы на Python
Ответить
Anonymous
 PCA после кластеризации многомерных данных по k-средним

Сообщение Anonymous »

У меня есть следующий набор данных с 10 переменными:
Изображение

Я хочу идентифицировать кластеры с помощью этого многомерного набора данных, поэтому я попробовал алгоритм кластеризации k-средних с помощью следующего кода:

Код: Выделить всё

clustering_kmeans = KMeans(n_clusters=2, precompute_distances="auto", n_jobs=-1)
data['clusters'] = clustering_kmeans.fit_predict(data)
Чтобы отобразить результат, я использовал PCA для уменьшения размерности:

Код: Выделить всё

reduced_data = PCA(n_components=2).fit_transform(data)
results = pd.DataFrame(reduced_data,columns=['pca1','pca2'])
sns.scatterplot(x="pca1", y="pca2", hue=kmeans['clusters'], data=results)
plt.title('K-means Clustering with 2 dimensions')
plt.show()
И в итоге получаю следующий результат:
[img]https://i .sstatic.net/odyR3.png[/img]

Итак, у меня есть следующие вопросы:
  • Однако этот график PCA выглядит очень странно, поскольку весь набор данных разделен на два угла графика. Это вообще правильно или я что-то неправильно закодировал?
  • Есть ли другой алгоритм кластеризации многомерных данных? Я смотрю на это, но не могу найти подходящий алгоритм для кластеризации многомерных данных... Как мне вообще реализовать, например. Иерархическая кластеризация Уорда в Python для моего набора данных?
  • Почему мне следует использовать PCA для уменьшения размерности? Могу ли я также использовать SNE? Так лучше?


Подробнее здесь: https://stackoverflow.com/questions/696 ... ional-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»