解释机器学习分类指标

数据挖掘 机器学习 Python scikit-学习
2022-02-24 10:50:38

我试图了解我用来预测两个可能类别的分类器的结果。这是我得到的:

     Precision     Recall     F1-score     Support

 0      0.97        1.00        0.98        341091
 1      0.60        0.18        0.27        12629

 Avg    0.96        0.97        0.96        353720

如果我试图预测 1 类,这个模型有什么价值吗?我可以改进 1 类预测的结果吗?

1个回答

我假设您显示的结果已经根据训练-验证-测试拆分方法进行了评估。使用您提供的信息,可以计算出您的混淆矩阵。它必须是这样的:

label=0 和 pred=0 : 330.000
label=0 和 pred=1 : 4800
label=1 和 pred=0 : 11.000
label=1 和 pred=1 : 7200

据此,您的模型具有一定的价值,但比随机选择可以给您的更好。考虑到给定类分布的两个类之间的随机选择,你会得到接近:

label=0 和 pred=0 : 328.000
label=0 和 pred=1 : 12.600
label=1 和 pred=0 : 12.600
label=1 和 pred=1 : 484

所以,我认为你的模型有一些价值。虽然,我认为你必须用你正在处理的用例、你正在使用的特性和模型以及你认为可以接受的性能水平来面对这种性能。

为了提高您的模型性能,您可以尝试许多方法。这里是其中的一些 :

  • 尝试其他分类算法(朴素贝叶斯、逻辑回归、SVM、基于树的技术......)。
  • 如果有脏数据,请清理您的输入变量并从中提取见解。这称为特征工程。
  • 诊断您的结果并搜索您是否处于拟合不足或过度拟合的情况。如果需要,调整您的算法。
  • 应用与不平衡类相关的技术。在这里查看更多