如何评价聚类结果的好坏

2024-12-04 17:37:58
推荐回答(1个)
回答(1):

常见的聚类评测指标有纯度和 F 值,其中 F 值更为常用。

F 值的更普适的应用是信息检索的结果,其计算包括了两个指标:召回率(Recall Rate)和准确率(Precision Rate)。

召回率的定义为:检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率;
准确率的定义为:检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;F 值为两者的调和平均值。

如果不知道预定义类与聚类的对应关系,就需要得到每一个预定义类与每一个聚类之间的 F 值,其计算方法如下:

precision[i][j] = 预定义第 i 类并被分配到第 j 个聚类的文档数 / 第 j 个聚类中的文档数
recall[i][j] = 预定义第 i 类并被分配到第 j 个聚类的文档数 / 预定义第 i 类的文档数
f[i][j] = 2 * precision[i][j] * recall[i][j] / (precision[i][j] + recall[i][j])

这样就得到了每一个预定义类与每一个聚类之间的 F 值,这在逻辑上构成了二分图关系,边权即为 F 值,目标是找到一个二分图完美匹配使得如下加权平均 F 值最大:

F-measure = sum(f[i][j] * 第 i 个预定义类的文档数) / 总文档数

方法为最大费用最大流或者 KM 算法。如果数据量较小,直接枚举匹配也是可以接受的方法。