You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SVM(RBF)多分类仅N类得分正常 其余类指标全0问题咨询

为何SVM(RBF)仅能识别N类,其他类评估指标全为0?

你在包含8528个样本的Pandas DataFrame上用SVM(RBF)执行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

更换80-20、70-30等划分比例后结果仍一致,核心原因是样本类别严重不平衡,具体分析如下:

  • 类别占比悬殊:测试集中N类占比约60%(2563/4264),和整体准确率完全匹配,说明模型全程只预测了N类。训练集里N类必然也是绝对多数,模型为了最大化整体准确率,会选择最“高效”的策略——全预测多数类,这样错分代价最低。
  • 指标为0的逻辑:召回率为0是因为模型从未正确识别出A/O/~类的样本;精确率为0是因为模型从未输出过这三类的预测结果(分母为0时,评估工具通常显示0)。
  • 划分比例不影响的原因:无论怎么拆分训练测试集,N类的主导地位都不会改变,模型的最优策略始终是只预测N类,因此结果无明显变化。

针对这个问题,可尝试以下解决方案:

  • 调整样本分布:对少数类做过采样(如SMOTE算法生成合成样本),或对多数类做欠采样,平衡各类样本数量
  • 设置类别权重:在SVM初始化时指定class_weight='balanced',让模型对少数类的错分赋予更高代价
  • 优化特征工程:挖掘能区分少数类和N类的关键特征,提升模型对少数类的辨识度
  • 更换模型:选用对不平衡数据更鲁棒的模型,比如随机森林、XGBoost等集成模型

内容的提问来源于stack exchange,提问作者jasmine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 02:27:20