当聚类数不等于数据集类时如何评估聚类结果

数据挖掘 聚类 多类分类 评估 无监督学习
2022-02-23 15:09:16

当对多类数据集应用聚类算法且类数不等于结果聚类数时(例如,当我们通过设置 K = 3 使用 K-Means 算法时,应用具有 14 个类的“酵母”数据集) .

在这种情况下评估结果的正确方法是什么?

4个回答

如果没有一对是重叠的,并且它们确实对数据集的每个元素进行了分类,那么它们就构成了该集合的一个分区你的聚类也是如此

在这种情况下,我建议使用距离度量来比较两个分区,而不是任何真正的索引,即使它很流行——除非该索引恰好也是一个度量。

用于比较分区的距离之一是索引,几年前由 Maria Meil重新发现,但它的起源可以追溯到 80 年代 ZurekVI,,

如何计算两个分区 P 和 Q 之间的距离

  1. 确定即 P 和 Q的“交集”(我在这里总是混淆 join 和 meet 两个词)。这只是将 P 的每个集群与 Q 的每个集群的交集形成的分区。PQ,
  2. 对于所有三个分区 , ,计算它们的熵定义如下:其中是您聚类/分类的元素总数,是给定分区的聚类/类中的元素数。PQPQH
    H(P)=1Ni=1Npilogpi,piniN
    NniiP
  3. 分区 P 和 Q 之间的距离d(P,Q)
    d(P,Q)=2H(PQ)H(P)H(Q)

使用真实度量的原因很简单:度量满足三角不等式,我们对“接近”和“相似”的直觉很大程度上依赖于此。任何不满足三角不等式的不相似性(距离)的临时度量最终都会给你这样的结果:A与 B 相距“小于给定的界限,说然后你会发现 A 接近 C 量如果这个距离不是度量标准,那么B 和 C 之间对于声音度量距离,它应该是 ddDd<Dd2Ddd+d<2D. 换句话说,A 将与 B 和 C“相似”,但最后两个将彼此“不同”/“不相似”。这是违反直觉的。

缺点是 VI 距离在计算上可能比计算兰德指数更昂贵。好处是它在数学上是合理的并且是有道理的。

您可以使用 R 来计算 VI 距离。您还可以使用我前段时间编写的程序 Partanalyzer ( https://github.com/MASantos/Partanalyzer )。它需要重写以使其更高效,但它是开源的,因此您可以随意修改它。

:Meila, M. 多元分析杂志,98, 873 (2007)。

:WH Zurek,《自然》,第 341 卷,第 119 页(1989 年)。

第一步是训练几个不同的算法/分类器,以大致了解在不更改数据的情况下您的结果有多好。

然后,一旦您执行了 kmeans,您就可以使用该信息来改进您的数据,然后再次通过您的分类器运行它以查看您的结果是否有所改善。

当我说“使用该信息可能改善您的数据”时,我的意思是:

假设您的数据有 5 个特征(列)...请参阅以下完全组成的数据...

2,5,6,3,2

4,5,2,3,7

...

5,8,2,3,5

您通过 kmeans 运行的正是这些数据...使用 3 个集群,您的每一行数据都将“属于”一个集群...因此将其添加到您的数据中,您的数据将变为:

2,5,6,3,2,1,0,0 属于集群 1

4,5,2,3,7,0,1,0 属于集群 2

...

5,8,2,3,5,0,0,1 属于集群 3

您可以只添加一列并将其设为 1、2、3,但有些算法更喜欢 0/1 方法(单热编码,虚拟变量)

看,现在您的数据中的信息比开始时多一点。拥有之前和之后的比较模型会让您知道它是否真的有用!

即使集群的数量相等,kt 也很少认为集群与类之间存在一对一的匹配。例如,一个类可能被分成两个类,而这两个类可能是不可分辨的,因此在同一个类中。

事实上,如果集群你的类不同,它是最有趣的!

为了比较聚类(和类),已经开发了许多度量标准。大多数基于对计数,而兰德指数是最受欢迎的指数之一。

你看的是成对的对象,而不是对象:它们是否在同一个集群和同一个类中?那么这对是“真阳性”。

有关更多详细信息,请参阅维基百科。

在发现的集群数量与实际类的数量不同的情况下,我喜欢使用最大匹配度量基本上,它会尝试在您的结果和真实类之间找到最佳匹配。

假设您有一个 3 类数据库,并且您找到了 4 个集群。然后您可以得到以下示例结果:

[273623331218]

可以这样理解:集群 1 有 2 个来自第 1 类的元素,有 7 个来自第 2 类的元素和 3 个来自第 3 类的元素,依此类推。

最大匹配尝试找到具有最大迹线(对角线和)的 3x3 矩阵。在这种情况下,它会

[623273218]

最后的措施是:

mm=6+7+841=0.51

其中 41 是 4x3 矩阵的所有元素的总和。

该措施会惩罚发现额外聚类的聚类方法。