0

我是数据挖掘领域的初学者,想对我的电影数据集进行聚类以查找流派组。我的数据集中有 86 部电影的 26 种不同类型。我想使用聚类将我的电影分成几个类型而不是 26 个。因此,例如在运行一些聚类算法之后,我将剩下 4 个聚类或任何最适合我的数据集的小数量。我已经将我的数据集定义如下 M1 { G1,G2,.....G26} M2{G1,G2,.....G26} 其中每个流派 G1,....,G26 都可以保存值0 或 1,0 表示不存在,1 表示存在。现在我的下一步是在上面运行 k-means 集群,我想使用一个好的距离函数,例如 Pearson Correlation Coefficient。

我正在使用 MATLAB 进行实验。我尝试使用 k=3,4,5,6 做 k-Means 我还运行了层次聚类。

我不确定如何确定哪些聚类结果更好。如何检查?由于我是初学者,我不知道如何在 MATLAB 中为二进制特征绘制集群。此外,我不知道如何使用皮尔逊相关系数作为 k-Means 中的距离度量。请帮忙。

4

2 回答 2

0

如果您没有基本事实,那么就没有特定的方法来衡量您的聚类有多成功。

因此,假设您没有基本事实,您可以使用集群内相似性;这是您测量每个集群内节点的相似性的时候。我会看一下平均移位聚类,因为您不需要指定聚类的数量。

于 2013-01-09T23:47:15.253 回答
0

评估是聚类中最难的部分。

如果您知道要查找的内容,则无需运行聚类分析。

因此,集群不存在客观的“真相”。您对集群的看法在很大程度上取决于您的个人需求,除非您将它们编码为自定义算法,否则集群算法可能会计算完全不同的东西。

例如,k-means 最小化方差。方差是否与您对集群的想法一致!

对于您的用例,最好的健全性检查是每个现有的流派分配应该主要在一个集群内。如果它到处都是,则聚类不会按照您的流派概念进行聚类。

于 2013-01-10T08:45:19.563 回答