如何从不同的中心找到最佳K-mean Cluster

时间:2013-04-30 02:11:42

标签: cluster-analysis clustered-index

我正在学习群集。我已经执行了存储在我的数据库中的用户的average_duration_of_call的k-mean集群。在首次运行3个中心 cluster1(53.33369秒)-367用户,cluster2(121.67123秒)-128用户,cluster3(369.09000秒)-8用户。

我再次使用 center 6 重新运行群集,获得的中心为cluster1(904.66670 sec)-1 subscriber,cluster2(27.7 sec) - 108 subscriber,cluster3(151.58)-43 subscriber,cluster4 (95秒) - 135个用户,集群5(59.5秒) - 207个用户,集群6(278秒)-9用户。

现在我的问题是哪个是最好的群集以及如何找到最佳群集。预计会有任何经验帮助(我目前正在使用R语言)

2 个答案:

答案 0 :(得分:2)

如果您是初学者,那么我建议您开始基于密度的聚类,这样就不需要K的初始值。您最初可以使用epsilon = 10和minpts = 5启动dbscan聚类,然后检查生成的聚类数。之后,开始平滑增加epsilon(11,12,... 15)和减少minpt(4,3,..1)并每次检查生成的簇的数量。然后,这些数字的平均值应该反映真实聚类的平均数量。

但是如果您需要应用k-mean聚类,那么您可能会发现Selection of K in K-means clustering文章很有用。

答案 1 :(得分:1)

嗯,k-means已经计算了你的平方和的得分。

选择获得更高分数的结果。

然而,当你增加k时,分数自然会提高。显然,如果你将k设置为数据集大小,它将为0.然后你可能想要使用BIC或Silhouette Coefficient(在维基百科上查找)。

哦,考虑使用一本书。这是一个经典问题,任何好书都应该包含它。