我真的很困惑如何在集群应用程序中计算精度和召回率.
我有以下情况:
给定两组A和B.通过对每个元素使用唯一键,我可以确定A和B中的哪些元素匹配.我想根据功能对这些元素进行聚类(当然不使用唯一键).
我正在进行聚类,但我不确定如何计算精度和召回率.根据文章"用于群集检索的扩展性能图"(http://staff.science.uva.nl/~nicu/publications/CVPR01_nies.pdf),公式为:
p =精度=相关检索项目/检索项目,r =召回=相关检索项目/相关项目
我真的不知道哪些元素属于哪个类别.
到目前为止我做的是,我在群集中检查了我有多少匹配对(使用唯一键).这已经是精确还是召回?如果是这样,它是哪一个,我怎么能计算另一个呢?
更新:我刚刚在http://mtg.upf.edu/files/publications/unsuperf.pdf上找到另一篇题为"用于评估具有非确定簇数的无监督聚类的F测量"的论文.
我想你会发现维基百科有一篇关于精确度和召回的有用文章.简而言之:
精度=真阳性/(真阳性+误报)
Recall = true positives /(true positivies + false negatives)
在我访问聚类方法时所做的一些研究中,我一直在使用其他一些集群有效性度量.如果您有一个标有类的数据集(监督聚类),您可以使用上面提到的精度和召回,或纯度和熵.
簇的纯度=最频繁类的出现次数/簇的大小(这应该很高)
集群的熵=衡量集群的分散程度(这应该是低的)
如果您没有类标签(无监督聚类),则内部和内部相似性是很好的衡量标准.
单个簇的簇内相似性=簇内所有对的平均余弦相似度(这应该很高)
单个群集的群集间相似性=一个群集中所有项目的平均余弦sim与每个其他群集中的所有项目相比(这应该很低)
本文对所有这四项措施都有一些很好的描述. http://glaros.dtc.umn.edu/gkhome/fetch/papers/edcICAIL05.pdf
与无人监督的F-measure有很好的联系,我现在正在研究它.