pandas python机器学习评价指标

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

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

precision    recall  f1-score   support

       A       0.00      0.00      0.00       386
       N       0.60      1.00      0.75      2563
       O       0.00      0.00      0.00      1180
       ~       0.00      0.00      0.00       135

accuracy                           0.60      4264

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

tp5buhyn

tp5buhyn1#

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

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

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

相关问题