分类报告解释什么?Class 1 表示异常数据

数据挖掘 机器学习 分类 scikit-学习 异常检测 阶级失衡
2022-03-02 17:17:44

如何解释报告以及精度如何,计算单个类标签的召回值。宏 avg 的意义是什么?该报告是否表明该模型的良好预测?

在此处输入图像描述

2个回答

分类报告给出了模型性能的一个视角。第一行显示类别 0 的分数。“支持”列显示测试集中有多少类别 0 的对象。第 2 行提供有关 1 类模型性能的信息。

每个类别的召回率计算如下: True Positives/(True Positives + False Negatives) 例如,第 1 类的召回率:15/(15+27) = 0.56

每个类别的精度计算如下: True Positives/(True Positives + False Positives) 例如,类别 1 的精度:15/(15+22) = 0.41

这个特定的分类报告显示模型的性能很差。准确度作为衡量标准可能会产生误导。尽管该模型显示出 99% 的准确率,但它几乎无法检测到第 1 类的对象(我想这些是感兴趣的对象,您要检测的异常数据)。

造成这种情况的原因之一可能是数据的不平衡,即0类的对象很多,1类的样本很少。结果,分类器过度拟合到0类,以尽量减少训练期间的误差。考虑阅读一些技术来克服不平衡问题。

看起来您在模型中使用了不平衡的数据集。结果看起来很差,假阴性值高/灵敏度比低。您可能还想使用的一个指标是 AUC/ROC。这适用于比较不平衡数据的结果。有许多选项可以改进您的模型以获得更好的灵敏度结果,例如

  1. 使用不同的权重来预测多数与预测少数标签
  2. 对训练数据进行上采样或下采样,以帮助平衡少数和多数的预测,或者对特征很少的数据集使用 SMOTE。
  3. 选择更擅长处理不平衡数据的建模算法,例如机器学习/神经网络,或经典算法,例如 bagging 或 boosting 算法和/或决策树

资源:

https://machinelearningmastery.com/tactics-to-combat-imbalanced-classes-in-your-machine-learning-dataset/

https://www.analyticsvidhya.com/blog/2017/03/imbalanced-data-classification/