假设我对应用递归特征消除感兴趣(例如RFE()在 中sklearn),并且我的数据集大小适中,具有, 在哪里是特征的数量。假设我有理由相信数据相对嘈杂,并且我相信特征选择可以提高分类准确性。
如果我想使用支持向量分类器(例如SVC()使用线性内核)来实现 RFE,则必须训练模型,然后将其传递给RFE(),然后它可以找到要在最终模型中使用的特征子集。然后,我们是否使用特征子集在数据集上重新训练SVC?所以我的问题:
这是正确的解释吗?如果是这样,那么我们如何解决模型中超参数的调整问题?(线性)SVC 的使用参数控制可以极大地影响偏差/方差权衡的正则化量。因此,我们是否优化首先,然后将模型传递给RFE(),得出最佳子集特征选择,然后在子集特征上拟合相同的模型?还是我们选择一个任意的(比如 1),传递给RFE(),然后在剩余特征上训练和调整最终模型?当然,在这种情况下,所有调优都是通过交叉验证完成的。
前一个选项对我来说似乎更正确,但我也认为我们错过了一些可能的准确性改进,因为我们没有在特征子集上再次调整模型。(也许是两个调音?在 RFE 之前和 RFE 之后?)
我们可以将此过程推广到其他分类器吗?如果一个怎么办可以罚款吗?
