多列K-Means聚类的可视化



数据集文件:谷歌驱动链接

Hello Community,我需要关于如何在这个用例上应用KNN集群的帮助。

我有一个由(27884 ROWS, 8933 Columns)组成的数据集

以下是数据集的预览

>b5b6b7>>b9<10>b118408<1><2>>>23030506><1>50<2>00
user_iD b1 b2 b3 b42b8
1 1 7 2 30
2 7465910
3 0 0 1 546
4 1 7 2804
5 0 4 70630
6 123054067

在K之后意味着您的数据集中还有一列

df["kmeans_cluster"] = model.labels_

要可视化数据点,必须选择2或3个轴(用于二维和三维图形(。然后,可以将kmeans_cluster用于点的颜色,将user_iD用于点的标签。

根据您的需要,您可以使用:

  • b1和b2作为轴:看看这两本书如何影响Kmeans结果
  • 前2或3个PCA组件(参见其他答案(
  • t-sneUmap降维算法的结果

以下是一些可以使用的代码片段:link1、link2

旁注:在应用Kmeans之前,您可能需要删除user_id列。

如果列数超过3列,则不能直接执行此操作。但是,您可以应用主成分分析来减少2列中的空间,并将其可视化。

pca_num_components = 2
reduced_data = PCA(n_components=pca_num_components).fit_transform(df3.iloc[:,1:12])
results = pd.DataFrame(reduced_data,columns=['pca1','pca2'])
sns.scatterplot(x="pca1", y="pca2", hue=df3['clusters'], data=results)
plt.title('K-means Clustering with 2 dimensions')
plt.show()

最新更新