我想使用轮廓分数为我的数据集选择最佳数量的集群。我的数据集是关于 2000 多个品牌的信息,包括购买该品牌的客户数量、该品牌的销售额以及该品牌在每个类别下销售的商品数量。
由于我的数据集非常稀疏,因此我在聚类之前使用了 MaxAbsScaler 和 TruncatedSVD。
我使用的聚类方法是 k-means,因为我最熟悉这个方法(我会感谢您对其他聚类方法的建议)。
当我将簇数设置为 80 并运行 k-means 时,我每次都得到不同的轮廓分数。是因为 k-means 每次都给出不同的聚类吗?有时,80 个簇的轮廓得分低于 200,有时则相反。所以我对如何选择合理数量的集群感到困惑。
此外,我的轮廓分数范围很小,并且随着聚类数量的增加而变化不大,范围从 0.15 到 0.2。
这是我从运行 Silhouette score 得到的结果:
For n_clusters=80, The Silhouette Coefficient is 0.17329035592930178
For n_clusters=100, The Silhouette Coefficient is 0.16970208098407866
For n_clusters=200, The Silhouette Coefficient is 0.1961679920561574
For n_clusters=300, The Silhouette Coefficient is 0.19367019831221857
For n_clusters=400, The Silhouette Coefficient is 0.19818865972762675
For n_clusters=500, The Silhouette Coefficient is 0.19551544844885604
For n_clusters=600, The Silhouette Coefficient is 0.19611760638136203
非常感谢您的建议!提前致谢!