如何解释非线性SVM中的类权重?

我在使用Scikit-learn的SVM分类器进行预测,并且使用的是rbf核。我设置了class_weight = ‘auto’。我是否正确理解了那些出现频率较高的类会得到较低的权重?假设我有两个类,A和B。如果A的出现次数远多于B,这是否意味着在进行预测时,A的预测数量会比我没有设置class_weight=’auto’时少?

我对这个领域还比较新手,所以我只是在试图理解发生了什么以及为什么会这样。


回答:

使用类权重与线性/非线性核无关。它只是控制了训练过程中错误分类特定样本的成本。每个类的权重只是对给定类中的每个样本施加一个恒定权重。当你使用auto时,类的样本会获得与类大小成反比的权重。因此,如果类A的大小是B的两倍,那么A的样本被错误分类的“成本”会是B的一半。这将导致模型结构高度平衡,特别是,这样的SVM试图最大化平衡准确率(BAC),而不是“经典”的准确率。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注