• 怎样评价聚类结果好坏?


    聚类定义回顾: 把一个文档集合根据文档的相似性把文档分成若干类,究竟分成多少类,这个要取决于文档集合里文档自身的性质。

     回答1:
     基于不同算法,会有不同指标,通常较通用的应该一定都会有Entropy 熵 和 Accuracy, (Accuracy 里可以包含了precision, recall, f-measure.)
    假设我们使用k-means算法,通常会加上SSE (Sum of squared errors平方误差和,其他算法会有不同指标。
    总体思想为一个cluster聚类内的数据点聚集在一起的密度越高,圈子越小,离centroid中心点越近,那么这个聚类的总体质量相对来说就会越好。
     
       回答2:     
         聚类的评估也需要预先标注,把相似的数据放到一个堆(文件)里。算法完成后再进行测试,主要测试宏观准确度,宏观召回率,宏观混杂度。
     
      回答3:
      可以参考分类的precision和recall来进行评价,使用pair-wised 的方式(??进行计算,比如任选取两个结果,看它们是否应该在一起,在一起就是T,不在一起就是F。
    其他的方法有Rand ValuePurity,其中Rand Value也是基于pair-wised的。
     
     
     
    具体聚类效果评估方法列举介绍:
     

    评价方法一:purity

    purity方法是极为简单的一种聚类评价方法,只需计算正确聚类的文档数占总文档数的比例: 

    其中Ω = {ω1,ω2, . . . ,ωK}是聚类的集合ωK表示第k个聚类的集合。C = {c1, c2, . . . , cJ}是文档集合,cJ表示第J个文档。N表示文档总数。

    如上图的purity = ( 3+ 4 + 5) / 17 = 0.71

    其中第一类正确的有5个,第二个4个,第三个3个,总文档数17。

    purity方法的优势是方便计算,值在0~1之间,完全错误的聚类方法值为0,完全正确的方法值为1。同时,purity方法的缺点也很明显它无法对退化的聚类方法给出正确的评价,设想如果聚类算法把每篇文档单独聚成一类,那么算法认为所有文档都被正确分类,那么purity值为1!而这显然不是想要的结果。

    评价方法二:RI

    实际上这是一种用排列组合原理来对聚类进行评价的手段,公式如下:

    其中TP是指被聚在一类的两个文档被正确分类了,TN是只不应该被聚在一类的两个文档被正确分开了,FP只不应该放在一类的文档被错误的放在了一类,FN只不应该分开的文档被错误的分开了。对上图

    TP+FP = C(2,6) + C(2,6) + C(2,5) = 15 + 15 + 10 = 40    其中C(n,m)是指在m中任选n个的组合数。

    TP = C(2,5) + C(2,4) + C(2,3) + C(2,2) = 20

    FP = 40 - 20 = 20

    相似的方法可以计算出TN = 72 FN = 24

    所以RI = ( 20 + 72) / ( 20 + 20 + 72 +24) = 0.68

    评价方法三:F值

    这是基于上述RI方法衍生出的一个方法,

    RI方法有个特点就是把准确率和召回率看得同等重要,事实上有时候我们可能需要某一特性更多一点,这时候就适合F值方法

    评价方法4:熵:

     

     
     
     
     
     
     
     
     
    参考:http://blog.csdn.net/luoleicn/article/details/5350378
  • 相关阅读:
    firewall
    mtu测试
    bps和pps
    PC上装VM上装虚拟机
    jira添加工作流
    【Linux系列】Centos 7安装 PHP(四)
    【Linux系列】Centos 7安装 Nginx(三)
    【Linux系列】配置Centos 7的软件源(二)
    【Linux系列】Centos 7安装以及网络配置(一)
    Python3获取豆瓣图书标签的前20本热门书籍(一)
  • 原文地址:https://www.cnblogs.com/lifegoesonitself/p/3318643.html
Copyright © 2020-2023  润新知