多 class 聚类的召回率和精度

recall and precision for multi class clustering

我很难理解如何测量多 class 聚类的精度和召回率。这是一个包含 9 个元素的示例:

考虑以下基本事实:

A,B,C,D
E,F,G
H,I

和以下观察到的聚类:

A,B,C
D
E,F,G,H,I

我应该如何计算真阳性 (TP)、假阳性 (FP) 和假阴性 (FN) 的数量?

我天真的方法是考虑所有元素对:

TP = 7 (A-B, A-C, B-C, E-F, E-G, F-G, H-I)
FP = 6 (E-H, E-I, F-H, F-I, G-H, G-I)
FN = 3 (A-D, B-D, C-D)

这样做正确吗?

谢谢

是的,TP等我第一眼觉得不错

但是枚举所有对是

您可以做得更好:您可以直接从交叉制表矩阵中计算对的数量。

应该有TP=3*2/2+3*2/2+2*1/2=7

FN=3*2/2+5*4/2-TP=13-7=6

FP=4*3/2+3*2/2+2*1/2-TP=10-7=3

等等

但随后计算 调整后的兰德指数 (ARI)。因为您想要一个随机结果仅得分接近 0 的度量。通过精确度和召回率,结果往往比实际情况好得多。