zoukankan      html  css  js  c++  java
  • 聚类结果的评价指标

    在看一篇论文,其中提到了purity,NMI,ARI,平时只是见到过,具体的含义并不知道,所以就百度整理了下~~

    看到了两篇博客,感兴趣的可以看一下~~http://blog.csdn.net/itplus/article/details/10322361   http://blog.csdn.net/sinat_33363493/article/details/52496011

      

    首先看一个例子(PS:别人的~~)认为x代表一类文档,o代表一类文档,方框代表一类文档,聚成了3个cluster,现在要对聚类的结果进行评价

    一、purity(纯度)

    purity--正确聚类的文档数占总文档的比例  其中N代表总文档数,Wk代表第k个聚类簇,C = {c1, c2, . . . , cJ}是文档集合,cJ表示第J个文档

    例如上面的例子,purity= ( 5+4+3) / 17 = 0.71  第一个cluster正确的有5个,第二个cluster正确的有4个,第3个cluster正确的有3个

    这个方法计算简单,值在0~1之间,完全错误值为0,完全正确值为1.

    二、Entropy(熵)

    对于一个聚类i,首先计算指的是聚类 i 中的成员(member)属于类(class)j 的概率,。其中是在聚类 i 中所有成员的个数,是聚类 i 中的成员属于类 j 的个数。

    每个聚类的entropy可以表示为,其中L是类(class)的个数。

    整个聚类划分的entropy为,其中K是聚类(cluster)的数目,m是整个聚类划分所涉及到的成员个数

    例如上面的例子e1=-{1/6log2(1/6)}  e2=-{1/6log2(1/6)+1/6log2(1/6)} e3={2/5log2(2/5)}  整个聚类划分的entropy=(6/17)e1+(6/17)e2+(5/17)e3

    三、Accuracy(准确率)

      比较每一条聚类结果是否和真是的结果一致   其中N表示文档总数,Ncor表示正确聚类的文档数   准确率和纯度计算一样。

    四、NMI(归一化互信息)

    互信息指的是两个随机变量之间的关联程度 如下公式计算

    标准互信息是将互信息归一化0~1,通常是除以最大熵

    五、ARI(调整兰德指数)

                                              

          其中C表示实际类别信息,K表示聚类结果,a表示在C与K中都是同类别的元素对数,b表示在C与K中都是不同类别的元素对数

          其中表示数据集中可以组成的对数,RI取值范围为[0,1],值越大意味着聚类结果与真实情况越吻合。

          RI越大表示聚类效果准确性越高 同时每个类内的纯度越高

          为了实现“在聚类结果随机产生的情况下,指标应该接近零”,调整兰德系数(Adjusted rand index)被提出,它具有更高的区分度:

                                        

         ARI取值范围为[−1,1],值越大意味着聚类结果与真实情况越吻合。从广义的角度来讲,ARI衡量的是两个数据分布的吻合程度。

    这只是几个指标,聚类结果评价的指标还有很多个。整理论文中提到的几个~~

  • 相关阅读:
    idea spring boot启动项目上面有红色叉
    hibernate Criteria中多个or和and的用法 and ( or or)
    CAS Server 4.2.7(自定义密码验证) 部署
    Web应用系统集成CAS-rest指南
    用DBMS_REDEFINITION将普通表转换为分区表
    windows编译libevent时报告“缺少print_winsock_errors.obj”的解决
    Oracle表增删分区的脚本
    libcassandra开发示例
    关于MongoDB API的两个小经验
    C/C++开发Cassandra的一些经验
  • 原文地址:https://www.cnblogs.com/bydream/p/6964883.html
Copyright © 2011-2022 走看看