【问题标题】:How to investigate cluster quality?如何调查集群质量?
【发布时间】:2017-11-04 07:12:43
【问题描述】:
我一直在试验 K-means 聚类算法。
我有一个我正在摆弄的电影评论数据集,试图使用我手动(嗯,以编程方式)定义的功能对它们进行聚类。
我开始明白,在聚类之前不可能提前知道要使用的 k 的值,而且我不确定自己想要拥有的聚类数量。我想我可以只获取集群并手动观察同一集群中实体之前未观察到的相似性。
我的问题如下:
同一个簇的元素真的会相关吗?
集群的“质量”在每个集群中是否相同?如何验证?
【问题讨论】:
标签:
python
machine-learning
scikit-learn
cluster-analysis
k-means
【解决方案1】:
关于你的第一个问题,兄弟,这不是一个好问题,因为我们的数据没有标签,我们使用聚类算法来标记它(你知道聚类后我们有聚类 1,2,... 或 a, b,c 或您想要分配的任何标签)
还有你的第二个问题:
在对您的数据进行聚类后,您可以使用一些衡量指标来了解您的聚类执行情况如何,看看这个
http://www-users.cs.umn.edu/~kumar/dmbook/dmslides/
或者分析结果的简单方法是计算每个集群的熵度量,熵度量越小,结果越好(如果集群的数量等于数据点的数量,您将获得最佳熵,考虑一下)
从信息论的角度来看,熵度量是表示您正在查看的数据点中存储了多少信息(相同的数据,它们可以携带的信息越少,想想 DC 信号它总是在 ,这是我们唯一能从中得到的东西,现在想想这个信号 它越能不同,你能从中得到的信息就越多 ...) 回到正题,现在在聚类之后,我们希望每个聚类中的数据点相似,因此每个聚类中的数据点越相似,熵度量就越少。
祝兄弟好运!