pandas python机器学习评价指标

umuewwlo  于 2023-03-16  发布在  Python
关注(0)|答案(1)|浏览(160)

我将SVM(rbf)模型应用于一个有8528行(8528个样本)的Pandas Dataframe 上,并将其分为4类,训练-测试分割为50-50。最后我得到了以下结果:

  1. precision recall f1-score support
  2. A 0.00 0.00 0.00 386
  3. N 0.60 1.00 0.75 2563
  4. O 0.00 0.00 0.00 1180
  5. ~ 0.00 0.00 0.00 135
  6. accuracy 0.60 4264

有人知道为什么除“N”之外的其他类的分数等于0.00吗?(每次运行的结果大致相同,即使是不同的训练测试分割百分比,例如80-20或70-30)

tp5buhyn

tp5buhyn1#

这看起来像是过拟合的经典案例:您的模型总是返回类“N”。
考虑到这一点,这些数字是有意义的,例如:

  1. Precision(N) = # (Rightly classified as N) / # (Everything classified as N) = 0.6
  2. Recall(N) = # (Rightly classified as N) / # (Every element in N) = 1

这很可能是事实,因为您的数据集非常不平衡:大约60%的数据是“N”。

相关问题