介绍
Kappa统计量(或值)是一种将观察到的准确性与预期准确性(随机机会)进行比较的度量。kappa统计信息不仅用于评估单个分类器,而且还用于评估它们之间的分类器。此外,它还考虑了随机机会(与随机分类器达成一致),这通常意味着它比简单地使用准确性作为度量标准具有更少的误导性(观察准确度为80%的印象要差得多,预期准确度为75%相对于50%的预期准确度)。观测精度和预期精度的计算是理解Kappa统计信息所不可或缺的,并且最容易通过使用混淆矩阵来说明。允许从一个简单的二元分类的简单混淆矩阵开始猫和狗:
计算方式
Cats Dogs
Cats| 10 | 7 |
Dogs| 5 | 8 |
假设使用监督的机器学习对标记的数据建立了模型。并非总是如此。kappa统计量通常用作衡量两个人类评分者之间可靠性的指标。无论如何,列对应于一个“评估者”,而行对应于另一“评估者”。在有监督的机器学习中,一个“评估者”反映了从标记数据中获得的地面真实性(每个要分类实例的实际值),另一个“评估者”是用于执行分类的机器学习分类器。最终,哪个计算kappa统计信息并不重要,但为了清楚起见, 分类。
从混淆矩阵中我们可以看到总共有30个实例(10 + 7 + 5 + 8 = 30)。在第一列中,15标记为猫(10 + 5 = 15),在第二列中,15标记为狗(7 + 8 = 15)。我们还可以看到,该模型将17个实例分类为Cats(10 + 7 = 17),将13个实例分类为Dogs(5 + 8 = 13)。
观察到的准确度就是在整个混淆矩阵中正确分类的实例数,即通过地面真理被标记为Cats,然后由机器学习分类器分类为Cats或通过地面真理和标记为Dogs的实例数量。然后由机器学习分类器分类为狗。要计算观察到的准确性,我们只需添加机器学习分类器与基本事实相符的实例数标签,然后除以实例总数。对于这个混淆矩阵,这将是0.6((10 + 8)/ 30 = 0.6)。
在我们得出kappa统计量的等式之前,还需要一个值:期望精度。该值定义为基于混淆矩阵期望任何随机分类器达到的精度。该预期的精度直接关系到每个类(的实例的数量猫和犬),与该实例的数量以及机器学习分类约定的地面实况标签。为了计算预期精度为我们的混淆矩阵,第一乘以边际频率的猫为一个“评估者”由边际频率的猫为第二个“评分者”,并除以实例总数。某个“评估者”对某个类别的边际频率只是该“评估者”所指示的所有实例的总和。在我们的情况下,15(10 + 5 = 15)的实例标记为猫根据地面实况,和17(10 + 7 = 17)的实例被归类为猫由机器学习分类器。结果为8.5(15 * 17/30 = 8.5)。然后也对第二个类进行此操作(如果有两个以上的类,则可以对每个其他类重复进行此操作)。15(7 + 8 = 15)的实例标记为狗根据地面实况,和13(8 + 5 = 13)的实例被归类为狗通过机器学习分类。结果为6.5(15 * 13/30 = 6.5)。最后一步是将所有这些值相加,最后再次除以实例总数,得出的期望精度为0.5((8.5 + 6.5)/ 30 = 0.5)。在我们的示例中,“ 期望准确度”为50%,这在“评估者”以二进制分类方式将每个类别以相同的频率进行分类时都是如此(均为Cats根据我们的混淆矩阵中的地面真相标签,“ 狗”包含15个实例)。
然后可以使用观测精度(0.60)和预期精度(0.50)以及以下公式来计算kappa统计信息:
Kappa = (observed accuracy - expected accuracy)/(1 - expected accuracy)
因此,在我们的情况下,kappa统计信息等于:(0.60-0.50)/(1- 0.50)= 0.20。
再举一个例子,这是一个不太平衡的混淆矩阵和相应的计算:
Cats Dogs
Cats| 22 | 9 |
Dogs| 7 | 13 |
基本事实:猫(29),狗(22)
机器学习分类器:猫(31),狗(20)
总计:(51)
观测精度:((22 + 13)/ 51)= 0.69
预期精度:((29 * 31/51)+(22 * 20/51))/ 51 = 0.51
卡伯:(0.69-0.51)/(1-0.51)= 0.37
本质上,kappa统计量衡量的是机器学习分类器分类的实例与标记为地面真理的数据匹配的紧密程度,从而控制了预期分类精度对随机分类器的准确性。这种kappa统计不仅可以说明分类器本身的性能,而且一个模型的kappa统计可直接与用于同一分类任务的任何其他模型的kappa统计相比。
解释
卡伯统计量没有标准化的解释。根据Wikipedia(引用他们的论文),Landis和Koch认为0-0.20轻微,0.21-0.40中等,0.41-0.60中等,0.61-0.80实质,0.81-1几乎完美。Fleiss认为,kappas> 0.75的情况为好,0.40-0.75的情况是良好,而<0.40的情况是差。重要的是要注意,这两个比例在某种程度上都是任意的。解释kappa统计信息时,至少应考虑另外两个因素。首先,应尽可能将kappa统计信息与伴随的混淆矩阵进行比较,以获得最准确的解释。考虑以下混淆矩阵:
Cats Dogs
Cats| 60 | 125 |
Dogs| 5 | 5000|
kappa统计数据为0.47,远高于Landis和Koch的“中度”阈值,而Fleiss的“良好”阈值。但是,请注意分类猫的命中率。实际上,只有不到三分之一的猫被归类为猫;其余全部归类为狗。如果我们更关心对猫进行正确的分类(例如,我们对猫过敏而不对狗过敏,而我们关心的只是不屈从于过敏,而不是最大限度地增加所摄取的动物数量),则分类器的等级较低kappa,但对猫的分类率更高可能更理想。
第二,可接受的kappa统计值在上下文中有所不同。例如,在许多具有容易观察到的行为的评分者间可靠性研究中,低于0.70的kappa统计值可能被认为较低。但是,在使用机器学习探索不可观察到的现象(例如白日梦等认知状态)的研究中,kappa统计值大于0.40可能被认为是例外。
因此,在回答有关0.40 kappa的问题时,要视情况而定。如果没有其他要求,则意味着分类器达到的分类率是预期精度与100%精度之间的2/5。如果预期精度为80%,则意味着分类器执行了80%以上(因为kappa为0,即20%)的40%(因为kappa为0.4)(因为这是80%与100%之间的距离)。随机机会),或88%。因此,在这种情况下,kappa的每增加0.10表示分类精度增加2%。如果准确度改为50%,则kappa为0.4表示分类器以50%(50%与100%之间的距离)的40%(kappa为0.4)的准确度大于50%(因为这是kappa为0(或随机几率),即70%。同样,在这种情况下,这意味着kappa会增加0。
可以通过kappa统计信息(而不是仅使用准确性)更可靠地比较在不同类别分布的数据集上构建和评估的分类器,因为这种缩放与预期准确性相关。它提供了更好的指示符,表明分类器如何在所有实例中执行,因为如果类分布类似地偏斜,则可能会偏斜简单的准确性。如前所述,与预期的75%相比,预期的50%的精度要高出80%。上面详述的预期准确性容易受到类别分布偏斜的影响,因此,通过kappa统计量控制预期准确性,我们可以更轻松地比较不同类别分布的模型。
那就是我所拥有的。如果有人发现有遗漏的地方,不正确的地方或尚不清楚的地方,请告诉我,以便改善答案。
我发现的参考资料有帮助:
包含对kappa的简洁描述:http :
//standardwisdom.com/softwarejournal/2011/12/confusion-matrix-another-single-value-metric-kappa-statistic/
包含有关计算预期准确性的描述:http :
//epiville.ccnmtl.columbia.edu/popup/how_to_calculate_kappa.html