当前位置:首页 > IT技术

机器学习中多分类模型的评估方法之--kappa系数

时间:2019-06-30 19:44:38来源:IT技术作者:SEO探针小编阅读:83次「手机版」
 

kappa系数

引言

分类是机器学习中监督学习的一种重要应用,基于统计的机器学习方法可以使用SVM进行二分类,可以使用决策书,梯度提升树等进行多分类。

对于二分类模型,我们通常可以使用ROC曲线来评估模型的预测效果。这里,我们介绍一下在多分类中衡量模型评估准确度的一种方法–kAPPa系数评估方法。

kappa系数

首先,我们介绍一下kappa系数:

kappa系数是用在统计学中评估一致性的一种方法,我们可以用他来进行多分类模型准确度的评估,这个系数的取值范围是[-1,1],实际应用中,一般是[0,1],与ROC曲线中一般不会出现下凸形曲线的原理类似。

这个系数的值越高,则代表模型实现的分类准确度越高。kappa系数的计算方法可以这样来表示:

k=po−pe1−pe" role="presentation">k=pope1pe

其中,p0表示为总的分类准确度;

pe表示为

pe=a1×b1+a2×b2+...+aC×bCn×n" role="presentation">pe=a1×b1+a2×b2+...+aC×bCn×n

其中,

ai" role="presentation">ai

代表第i类真实样本个数,

bi" role="presentation">bi

代表第i类预测出来的样本个数。

例子

例子数据来源:

HTTPs://blog.csdn.net/xtingjie/article/details/72803029

这里写图片描述

对于该表中的数据,则有:

po=239+73+280664=0.8916" role="presentation">po=239+73+280664=0.8916

pe=261×276+103×93+300×295664×664=0.3883" role="presentation">pe=261×276+103×93+300×295664×664=0.3883

k=po−pe1−pe=0.8916−0.38831−0.3883=0.8228" role="presentation">k=pope1pe=0.89160.388310.3883=0.8228

代码

Python语言来实现,则有:

def kappa(matrix):
    n = np.sum(matrix)
    sum_po = 0
    sum_pe = 0
    for i in range(len(matrix[0])):
        sum_po += matrix[i][i]
        row = np.sum(matrix[i, :])
        col = np.sum(matrix[:, i])
        sum_pe += row * col
    po = sum_po / n
    pe = sum_pe / (n * n)
    # print(po, pe)
    return (po - pe) / (1 - pe)

其中,matrix是一个方阵,若共有i个类别,则matrix.shape = (i,i).

用下面的代码进行测试:

import numpy as np
matrix = [
    [239,21,16],
    [16,73,4]
    [6,9,280]]

matrix = np.array(matrix)
print(kappa(matrix))

相关阅读

TextOut 使用创建字体的方法不同造成不同的显示结果

LOGFONT logFont;logFont.lfHeight         = 12; logFont.lfEscapement     = 0; logFont.lfOrientation    =

实例解析:做计划的2个方法

每年开始,我们都喜欢立个新的flag,但到了总结和结束的时候,往往会发现需要完成的事依旧没完成。那么,对于计划做事有没有什么更好的办

win10系统崩溃(UNEXPECTED_STORE_EXCEPTION)解决方法

心态崩了,电脑又蓝屏了,同样蹦出来UNEXPECTED_STORE_EXCEPTION,like this: 而且我的是卡在完成 0%永远不会动的那种,重启之后就是找不

打开MSDTC的方法(图解)

最近在做一个项目的时候使用了一下.net中的System.Transactions(分布式事务),当项目开发完成以后,在布置的时候遇到了msdtc的问题,在查

方法论|如何做一次完美的用户调研

用户调研作为产品人员最常用的工作方式,相信各位一定不会陌生。但如何提高用户调研的有效性却是一直困扰大家的问题,网上有一堆提供

分享到:

栏目导航

推荐阅读

热门阅读