使用非线性 SVM 时如何解释 class 权重?
How does one interpret class weight when working with non linear SVMs?
我正在使用 Scikit-learn SVM 分类器进行预测,并且我正在使用 rbf 内核。我设置了 class_weight = 'auto'。我认为 类 出现得更频繁的权重会更低吗?假设我有两个 类,A 和 B。如果 A 出现的次数比 B 多,这是否意味着稍后在进行预测时,A 的预测会比我没有设置 [=17 时少=]= 'auto'?
我对此很陌生,所以我只是想了解正在发生的事情以及原因。
使用class权重与linear/non-linear内核无关。它只是控制在训练期间错过classifing 特定样本的成本。 Per-class weight 简单地在给定 class 中对每个样本施加恒定权重。当您使用 auto
时,classes 样本的权重与 class 大小成反比。因此,如果 class A 是 B 的两倍,那么来自 A 的样本是两倍 "cheapier" 错过 classify。这将导致高度平衡的模型结构,特别是,此类 SVM 试图最大化平衡精度 (BAC),而不是 "classical" 精度。
我正在使用 Scikit-learn SVM 分类器进行预测,并且我正在使用 rbf 内核。我设置了 class_weight = 'auto'。我认为 类 出现得更频繁的权重会更低吗?假设我有两个 类,A 和 B。如果 A 出现的次数比 B 多,这是否意味着稍后在进行预测时,A 的预测会比我没有设置 [=17 时少=]= 'auto'?
我对此很陌生,所以我只是想了解正在发生的事情以及原因。
使用class权重与linear/non-linear内核无关。它只是控制在训练期间错过classifing 特定样本的成本。 Per-class weight 简单地在给定 class 中对每个样本施加恒定权重。当您使用 auto
时,classes 样本的权重与 class 大小成反比。因此,如果 class A 是 B 的两倍,那么来自 A 的样本是两倍 "cheapier" 错过 classify。这将导致高度平衡的模型结构,特别是,此类 SVM 试图最大化平衡精度 (BAC),而不是 "classical" 精度。