【问题标题】:How does one interpret class weight when working with non linear SVMs?使用非线性 SVM 时如何解释类​​权重?
【发布时间】:2015-11-03 20:34:43
【问题描述】:

我正在使用 Scikit-learn SVM 分类器进行预测,并且我正在使用 rbf 内核。我已经设置了 class_weight = 'auto'。我认为更频繁出现的类会得到更低的权重,我是否正确?假设我有两个类,A 和 B。如果 A 出现的次数比 B 多得多,这是否意味着稍后在进行预测时,A 的预测会比我没有设置 class_weight='auto' 时更少?

我对此很陌生,所以我只是想弄清楚发生了什么以及为什么。

【问题讨论】:

    标签: python machine-learning scikit-learn svm


    【解决方案1】:

    使用类加权与线性/非线性内核无关。它只是控制在训练期间对特定样本进行错误分类的成本。每类权重只是对给定类中的每个样本赋予恒定的权重。当您使用auto 时,类样本的权重与类大小成反比。因此,如果您的 A 类是 B 的两倍,那么来自 A 的样本会“便宜”一倍,从而导致误分类。这将导致模型结构高度平衡,特别是这种 SVM 试图最大化平衡精度(BAC),而不是“经典”精度。

    【讨论】:

    • 哦,我明白了!我不太确定它实际控制的是什么,所以非常感谢!
    猜你喜欢
    • 2012-03-16
    • 2019-10-24
    • 2015-09-06
    • 2017-11-20
    • 2018-06-17
    • 2016-05-15
    • 2017-05-28
    • 2019-06-06
    • 2012-06-19
    相关资源
    最近更新 更多