我使用Scikit-learn SVM分类器进行预测,并使用rbf内核。我已经设置了class_weight =' auto'。我是否正确地认为更常出现的类会降低权重?假设我有两个类,A和B.如果A出现的次数远远多于B,那么这意味着稍后在进行预测时,A预测会比我没有设置class_weight =&#39更少;自动'?
我对此非常陌生,所以我只是试图了解正在发生的事情以及原因。
答案 0 :(得分:3)
使用类加权与线性/非线性内核无关。它只是控制在训练期间错误分类特定样本的成本。每类重量只是对给定类中的每个样本赋予恒定的权重。当您使用auto
时,类样本的权重与类大小成反比。因此,如果你的A级是B的两倍,那么来自A的样本是两次"便宜的"错误分类。这将导致高度平衡的模型结构,特别是,这种SVM试图最大化平衡准确度(BAC),而不是经典"准确性。