如何使用 SVM 的权重向量和逻辑回归来确定特征重要性?
How to use Weight vector of SVM and logistic regression for feature importance?
我已经在我的数据集上训练了 SVM 和逻辑回归分类器。两个分类器都提供了一个权重向量,该向量的大小与特征数量有关。我可以使用这个权重向量来 select 10 个最重要的特征,只需 select 具有最高权重的 10 个特征。
我应该使用权重的绝对值,即select使用绝对值最高的 10 个特征吗?
其次,这仅适用于具有线性内核的 SVM,但不适用于我读过的 RBF 内核。对于非线性内核,权重在某种程度上不再是线性的。在非线性核SVM的情况下,权重向量不能用于确定特征重要性的确切原因是什么?
正如我对, weight vector of any linear classifier的回答表明特征重要性:简单地说,因为最终值是特征值以权重为系数的线性组合,所以权重越大,对最终值的影响就越大相应的加数。
因此,对于线性分类器,您可以采用具有最大权重的特征(而不是特征本身的最大值,或者权重和特征值的最大乘积)。
这也解释了为什么像RBF这样的非线性内核的SVM没有这样的属性:特征值和权重都转换成另一个space你不能这么说权重越大影响越大,见wiki.
如果您需要 select 非线性 SVM 的最重要特征,请对 feature selection, namely wrapper methods 使用特殊方法。
我已经在我的数据集上训练了 SVM 和逻辑回归分类器。两个分类器都提供了一个权重向量,该向量的大小与特征数量有关。我可以使用这个权重向量来 select 10 个最重要的特征,只需 select 具有最高权重的 10 个特征。
我应该使用权重的绝对值,即select使用绝对值最高的 10 个特征吗?
其次,这仅适用于具有线性内核的 SVM,但不适用于我读过的 RBF 内核。对于非线性内核,权重在某种程度上不再是线性的。在非线性核SVM的情况下,权重向量不能用于确定特征重要性的确切原因是什么?
正如我对
因此,对于线性分类器,您可以采用具有最大权重的特征(而不是特征本身的最大值,或者权重和特征值的最大乘积)。
这也解释了为什么像RBF这样的非线性内核的SVM没有这样的属性:特征值和权重都转换成另一个space你不能这么说权重越大影响越大,见wiki.
如果您需要 select 非线性 SVM 的最重要特征,请对 feature selection, namely wrapper methods 使用特殊方法。