有没有办法在scikit-learn中用非线性模型进行递归特征选择?

2 投票
1 回答
2456 浏览
提问于 2025-04-17 21:19

我正在尝试在一个回归问题上使用SVR(支持向量回归)和rbf核。我的数据集大概有300个特征。我想选择一些更相关的特征,并使用类似于matlab中的sequentialfs函数,这个函数会尝试每种组合(或者说从少量变量开始,逐步添加变量,或者反过来,从多到少,像scikit中的RFE或RFECV那样)。

现在,正如我所说的,Python中有RFE,但我不能用它来处理非线性估计器。我是不是遗漏了什么,可以让我用RFE和非线性估计器一起使用?我想写一个这样的算法应该不难,但如果已经有现成的工具可以做到这一点,那肯定会更好。

谢谢你们,像往常一样;)

1 个回答

1

RFE(递归特征消除)需要有办法来判断特征的重要性,而RBF核的支持向量机(SVM)并没有提供这个功能。从我快速浏览的原始算法来看,似乎要在核SVM中实现这个功能,需要把它整合进SVM的学习算法里。

逐步特征选择(无论是向前选择还是向后选择)其实很容易实现,但在scikit-learn中并没有现成的工具可以直接使用。

撰写回答