分类报告解释什么?Class 1 表示异常数据
数据挖掘
机器学习
分类
scikit-学习
异常检测
阶级失衡
2022-03-02 17:17:44
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。这适用于比较不平衡数据的结果。有许多选项可以改进您的模型以获得更好的灵敏度结果,例如
- 使用不同的权重来预测多数与预测少数标签
- 对训练数据进行上采样或下采样,以帮助平衡少数和多数的预测,或者对特征很少的数据集使用 SMOTE。
- 选择更擅长处理不平衡数据的建模算法,例如机器学习/神经网络,或经典算法,例如 bagging 或 boosting 算法和/或决策树
资源:
https://www.analyticsvidhya.com/blog/2017/03/imbalanced-data-classification/
其它你可能感兴趣的问题
