我是数据挖掘领域的初学者,想要将我的电影数据集聚为寻找Genres组。我的数据集中有86种不同类型的86种电影。我想使用群集将我的电影分成几个类型而不是26个。所以对于例如运行一些聚类算法后,我将留下4个簇或任何最适合我的数据集的小数。 我已经定义了我的数据集如下 M1 {G1,G2,...... G26} M2 {G1,G2,G26 .....} 其中每个类型G1,......,G26可以保持值0或1,0表示不存在,1表示存在。 现在我的下一步是在其上运行k-means集群,并且我想要使用良好的距离函数,例如皮尔逊相关系数。
我正在使用MATLAB进行实验。 我尝试使用k = 3,4,5,6来做k-Means 我还运行了Hierarchial Clustering。
我不确定如何确定哪种群集结果更好。怎么检查?由于我是初学者,我不知道如何在MATLAB中为二进制特征绘制聚类。另外,我不知道如何使用Pearson Correlation Coefficient作为k-Means中的距离度量。请帮忙。
答案 0 :(得分:0)
如果您没有基本事实,则没有特别的方法来衡量您的群集成功程度。
因此,假设您没有基本事实,您可以使用内部群集相似性;这是在您测量每个群集内的节点的相似性时。我将看一下均值移位聚类,因为您不需要指定聚类数。
答案 1 :(得分:0)
评估是集群方面最难的部分。
如果您知道自己在寻找什么,则无需进行群集分析。
所以群集没有客观的“真理”。您认为群集的内容取决于您的个人需求,除非您将它们编码为自定义算法,否则群集算法可能会计算完全不同的东西。
例如,k-means最小化方差。方差是否与您对群集的想法一致!对于您的用例,最佳的健全性检查是每个现有的类型分配应该主要位于其中一个群集中。如果它遍布整个地方,则群集不会按照您的流派概念进行聚类。