我目前正在学习聚类。我在我的数据库中存储了订阅服务器的k均值average_duration_of_call集群.在上, cluster1( 53.33369秒)-367订阅服务器,cluster2(121.67123秒)-128订阅服务器,cluster3(369.09000秒)-8订阅服务器首次运行。
再次使用中心6重新运行集群,获得的中心为cluster1(904.66670秒) -1用户、cluster2(27.7秒)- 108用户、cluster3(151.58)-43用户、cluster4(95秒)- 135用户、cluster5(59.5秒)- 207用户、cluster6(278秒)-9用户。
现在我的问题是,哪一个是最好的集群,以及如何找到最好的集群。任何来自经验的帮助都是需要的(我目前正在使用R语言)
发布于 2013-05-18 11:14:47
如果您是初学者,那么我建议您开始基于密度的集群,这样就不需要K的初始值了。首先可以使用epsilon=10和minpts= 5启动dbscan集群,然后检查生成的集群的数量。然后,启动epsilon (11,12,. 15)的平稳增长和minpt (4,3,..1)的减少,并检查每次生成的簇数。那么,这些数字的平均值应该反映出实际集群的平均数量。
但是,如果您需要应用k均值聚类,那么您可能会发现K-均值聚类中K的选择的文章很有用。
发布于 2013-04-30 12:02:29
嗯,k-表示已经为你的平方和计算了一个分数。
选择取得较好成绩的结果。
然而,当你增加k的时候,分数提高是很自然的。显然,如果将k设置为数据集大小,则为0。然后,您可能需要使用BIC或剪影系数(查看维基百科)。
哦,还有考虑用一本书。这是一个经典的问题,它应该涵盖在任何好书。
https://stackoverflow.com/questions/16291139
复制相似问题