如何使用 SVM 的权重向量和逻辑回归进行特征重要性?
Posted
技术标签:
【中文标题】如何使用 SVM 的权重向量和逻辑回归进行特征重要性?【英文标题】:How to use Weight vector of SVM and logistic regression for feature importance? 【发布时间】:2015-10-10 22:07:33 【问题描述】:我已经在我的数据集上训练了一个 SVM 和逻辑回归分类器。两个分类器都提供了一个权重向量,其大小与特征数量相同。我可以使用这个权重向量来选择 10 个最重要的特征,只需选择权重最高的 10 个特征。
我应该使用权重的绝对值,即选择绝对值最高的 10 个特征吗?
其次,这仅适用于具有线性内核的 SVM,但不适用于我读过的 RBF 内核。对于非线性内核,权重在某种程度上不再是线性的。在非线性核SVM的情况下,权重向量不能用于确定特征重要性的确切原因是什么?
【问题讨论】:
【参考方案1】:正如我对similar question的回答,任何linear classifier的权重向量都表示特征重要性:因为最终值是特征值以权重为系数的线性组合,所以权重越大,对最终值的影响越大是由相应的summand引起的。
因此,对于线性分类器,您可以获取具有最大权重的特征(而不是特征本身的最大值,或者权重和特征值的最大乘积)。
这也解释了为什么带有像 RBF 这样的非线性核的 SVM 没有这样的属性:特征值和权重都被转换到另一个空间,不能说权重越大影响越大,见@ 987654323@.
如果您需要为非线性 SVM 选择最重要的特征,请使用 feature selection 的特殊方法,即 wrapper methods。
【讨论】:
以上是关于如何使用 SVM 的权重向量和逻辑回归进行特征重要性?的主要内容,如果未能解决你的问题,请参考以下文章
在 sklearn 或任何 python 库中确定对非线性 SVM 回归贡献最大的特征