Kappa 在不平衡 (1:10) 数据集中接近 60%

数据挖掘 r 阶级失衡 gbm
2021-09-24 17:18:39

如前所述我有一个分类问题和不平衡的数据集。多数类包含所有样本的 88%。我已经使用in 包训练了一个广义 Boosted Regression 模型gbm()并获得以下输出:gbmR

  interaction.depth  n.trees  Accuracy  Kappa  Accuracy SD  Kappa SD
  1                  50       0.906     0.523  0.00978      0.0512  
  1                  100      0.91      0.561  0.0108       0.0517  
  1                  150      0.91      0.572  0.0104       0.0492  
  2                  50       0.908     0.569  0.0106       0.0484  
  2                  100      0.91      0.582  0.00965      0.0443  
  2                  150      0.91      0.584  0.00976      0.0437  
  3                  50       0.909     0.578  0.00996      0.0469  
  3                  100      0.91      0.583  0.00975      0.0447  
  3                  150      0.911     0.586  0.00962      0.0443  

查看 90% 的准确率,我假设该模型已将所有样本标记为多数类。这很清楚。还有什么不透明:如何计算 Kappa。

  • 这个 Kappa 值(接近 60%)到底意味着什么?仅仅说模型对它们进行分类不是偶然就足够了吗?
  • 是什么Accuracy SD意思Kappa SD
2个回答

Kappa 是 Cohen 的评分者间一致性的 Kappa 分数。它是评估机器学习算法和人工注释器性能的常用指标,尤其是在处理文本/语言学时。

它所做的是将(人类或算法)注释器的输出与基本事实标签之间的一致性水平与随机机会发生的一致性水平进行比较。在这个 stats.stackexchange.com 的答案中有一个很好的关于如何计算 Kappa 并用它来评估分类器的概述,并且在这篇题为“理解观察者间协议”的论文中更深入地解释了 Kappa 以及如何解释它: Viera & Garrett (2005) 的 Kappa 统计。

使用 Kappa 的好处,特别是在像您这样的不平衡数据集中,在类之间存在 90-10% 的不平衡时,您可以通过简单地使用更常见的标签标记所有数据点来实现 90% 的准确度班级。Kappa 统计量描述了分类器在基准性能水平之上的表现。

Kappa 范围从 -1 到 1,0 表示评分者之间没有一致,1 表示完全一致,负数表示系统不一致。虽然解释有些武断(并且非常依赖于任务),但 Landis & Koch (1977) 定义了以下可以作为一般经验法则工作的解释系统:

Kappa Agreement
< 0 Less than chance agreement
0.01–0.20 Slight agreement
0.21– 0.40 Fair agreement
0.41–0.60 Moderate agreement
0.61–0.80 Substantial agreement
0.81–0.99 Almost perfect agreement

这表明您的算法表现适中。Accuracy SD 和 Kappa SD 分别是 Accuracy 和 Kappa 分数的标准差。我希望这是有帮助的!

这可能会提供一些答案:https ://cran.r-project.org/web/packages/caret/vignettes/caret.html

您还可以查看 Max Kuhn 的“应用预测建模”一书。他在本书中详细讨论了 caret 包,包括 kappa 统计信息以及如何使用它。这可能对你有一些帮助。