介绍篇——评价指标
最新更改:2020-7-13
咕咕咕…
补充 : 上一篇为针对二分类,如果为三类以上的分类时,对每一类单独分析,即分析A类: A类为正类,其他均为负类,然后按某方法综合分析:
某方法:
1.宏平均(macro):每一个指标的平均为综合指标。
2.加权平均(weighted):每一个指标的加权平均为综合指标。
3.微平均(micro):计算所有类别中假正例、假反例和真正例的总数,然后利用这些计数来计算指标。
外部评价指标分成2部分,1是根据《机器学习》-周志华个人理解,2是资料查阅的(与sklearn库嵌合),两者存在一些差异,如果有知道这是咋回事的欢迎评论区交流。
外部评价指标1
主要介绍三个指标,分别是JC,FMI,RI。
首先,我们有这样一个定义:
对于数据集D = {x1,x2,x3…,xm},假定根据某聚类方法得到类簇划分C = {c1,c2,…ck},参考模型的类簇划分C星 = {c星1,c星2,…,c星k},相应的用 λ 与 λ星 表示C和C星表示的类簇向量:
a = 集合SS: 包含了在C中属于相同簇, 同时在C星中也属于相同簇的样本对数
b = 集合SD: 包含了在C中属于相同簇, 同时在C星中属于不同簇的样本对数
c = 集合DS: 包含了在C中属于不同簇, 同时在C星中属于相同簇的样本对数
d = 集合DD: 包含了在C中属于不同簇, 同时在C星中属于不同簇的样本对数
为了更好地理解,举一个例子
聚类类簇划分:[0,0,0,1,1,1]
真实类簇划分:[0,0,1,1,1,0]
根据类簇划分构造两个矩阵:
C(聚类) | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
0 | 1 | 1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 0 | 0 | 0 |
2 | 1 | 1 | 1 | 0 | 0 | 0 |
3 | 0 | 0 | 0 | 1 | 1 | 1 |
4 | 0 | 0 | 0 | 1 | 1 | 1 |
5 | 0 | 0 | 0 | 1 | 1 | 1 |
C星(真实) | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
0 | 1 | 1 | 0 | 0 | 0 | 1 |
1 | 1 | 1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 1 | 1 | 0 |
3 | 0 | 0 | 1 | 1 | 1 | 0 |
4 | 0 | 0 | 1 | 1 | 1 | 0 |
5 | 1 | 1 | 0 | 0 | 0 | 1 |
PS:第i行j列个元素表示样本第i个和第j个是否为同一类簇。同则1,否则0.
由于公式要求i<j,所以只用上三角矩阵(加粗の数据)。
a = nSS = 2
b = nSD = 4
c = nDS = 4
d = nDD = 9
a+b+c+d = m*(m-1)/2 = 6*5/2 = 15
Jaccard系数(JC) = a/(a+b+c)
FM指数(FMI) = 根号下(a^2/((a+b)×(a+c))
Rand指数(RI) = 2(a+d)/(m×(m-1))
以上三个性能区间为 [0,1] ,越大越好.
外部评价指标2
网上查阅得到的做法类似上一篇,先求类似混淆矩阵的矩阵。还是拿上面的例子:
聚类类簇划分:[0,0,0,1,1,1]
真实类簇划分:[0,0,1,1,1,0]
可以得到矩阵如下
C | 0 | 1 |
---|---|---|
0 | M00 | M01 |
1 | M10 | M11 |
该例子结果:
M00 = 2
M01 = 1
M10 = 1
M11 = 2
jaccard系数(JC)= MM11/(M01+M10+M11)
内部评价指标
考虑到类簇划分结果为C={c1,c2,c3,…,ck}.定义:
①簇C内样本间的平均距离:
②簇C内样本间的最远距离:
③簇Ci与簇Cj最近样本间的距离
④簇Ci与簇句中心点间的距离
其中dist(x,y)表示x和y的距离,μ表示中心,|Ck|表示Ck类的个数。
那么评价指标公式为:
DB指数(DBI):
Dunn指数(DI):
DBI的值越小越好,而DI则相反,值越大越好.
以上是评价指标主要内容,欢迎指正。
最新更改:2020-7-13
询问了下老师,周志华老师的评价系数是针对评价算法本身,而网上的是针对具体数据,应用领域不同。