如何使用 SVM 的权重向量和逻辑回归来获取特征重要性?

机器算法验证 机器学习 物流 t检验 支持向量机 特征选择
2022-03-17 14:10:34

我已经在我的数据集上训练了一个支持向量机和逻辑回归分类器以进行二元分类。两个分类器都提供了一个权重向量,其大小与特征数量相同。我可以使用这个权重向量来选择 10 个最重要的特征。为此,我通过排列测试将权重转换为 t 分数。我对类标签进行了 1000 次排列,并在每次排列时计算了权重向量。最后,我从实际权重中减去置换权重的平均值,然后除以置换权重的标准差。所以我现在有 t 分数。

我应该使用 t 分数的绝对值,即选择绝对值最高的 10 个特征吗?因此,假设这些功能具有以下 t 分数:

feature 1: 1.3
feature 2: -1.7
feature 3: 1.1
feature 4: -0.5

如果我通过考虑最高绝对值来选择 2 个最重要的特征,则特征 1 和 2 将获胜。如果我不考虑绝对值,特征 1 和 3 会赢。

其次,这仅适用于具有线性内核的 SVM,但不适用于我读过的 RBF 内核。对于非线性内核,权重在某种程度上不再是线性的。在非线性核 SVM 的情况下,权重向量不能用于确定特征重要性的确切原因是什么?

1个回答

1)假设您已经对数据进行了适当的预处理,那么我会考虑权重的绝对值。负值只是意味着它对结果有负面影响,但是大的负权重仍然是显着的。(请注意,如果数据未标准化,则不成立)

2)如果您使用的是非线性内核,则权重仅在内核所在的更高维空间中才有意义。在 RBF 内核的情况下,这个空间有无限的维度,这让你的生活更加艰难。如果您使用的是多项式内核,那么权重仍然有用,但某些权重将代表幂项或交互项。看看这个帖子

如何直观地解释内核是什么?