根据结果​​选择聚类方法

时间:2013-02-02 17:23:28

标签: cluster-analysis weka recommendation-engine k-means dbscan

我正在使用WEKA作为我的论文,并拥有超过1000行数据。该数据库包括人口统计信息(年龄,位置,状态等),后跟产品名称(价值1或0)。最终结果是推荐系统。 我使用了两种聚类方法K-MeansDBScan

当使用K-means时,我尝试了3个不同数量的聚类,而使用DBscan我选择了3个不同的epsilons(Epsilon 3 = 48个聚类,忽略了17%的数据,Epsilone 2.5 = 19个聚类,而聚类0保存229个项目,忽略6%。)意味着我有6个不同的聚类结果用于相同的数据。

如何选择最适合我数据的内容?

1 个答案:

答案 0 :(得分:1)

什么是“最佳”?

正如一些聪明人注意到的那样:

  

聚类的有效性通常在旁观者眼中

群集没有客观的“更好”,或者你没有进行聚类分析。

即使结果在某些数学度量上实际上“更好”,例如分离,轮廓,甚至在使用标签的监督评估时 - 它仍然只能更好地优化某些数学目标,< em>不是你的用例。

K-means为给定的k找到局部最优平方和分配。 (如果增加k,则存在更好的赋值!)DBSCAN(它实际上拼写为全部大写)总是找到给定MinPts / Epsilon组合的最佳密度连通分量。然而,两者都只是根据一些数学标准进行优化。 除非这个条款与您的要求一致,否则它就毫无价值。所以没有最好的,直到你知道你需要什么。但如果您知道自己需要什么,就不需要进行聚类分析。

那该怎么办?

尝试不同的算法和不同的参数,使用您的领域知识分析输出,如果它们可以帮助您解决您要解决的问题。如果他们帮助您解决问题,那么他们就是好的。如果他们没有帮助,请再试一次。

随着时间的推移,您将收集一些经验。例如,如果平方和对您的域没有意义,请不要使用k-means。如果您的数据没有有意义的密度,请不要使用基于密度的群集,例如DBSCAN。并不是这些算法失败了。他们只是没有解决你的问题,他们解决了你不感兴趣的不同的问题。他们可能真的善于解决这个问题... < / p>