使用特征选择来提高模型性能

数据挖掘 Python 回归 特征选择 随机森林
2022-02-25 19:24:54

我有一个高度稀疏的数据集,用于通过随机森林回归预测连续变量。在交叉验证之后,我已经达到了可接受的性能水平,我现在正在考虑可能进一步提高准确性的潜在方法。

鉴于我的数据集非常稀疏,我认为递归特征消除(使用 sklearn 中的交叉验证版本)可能是一个不错的方法。我的理解是,这将为我提供“最佳”数量的特征,从而可以减少与过度拟合相关的问题。

我的问题是,用这些优化的特征重新运行分析是否合适,或者我是否在某种程度上偏向了模型?我有一个在训练/验证中根本没有使用过的测试集,所以我假设只要我在训练和测试之间不泄露信息,我应该会很好。但我不清楚这些假设是否正确。

这是 RFE 的合适用途,还是我应该考虑不同的路径?

对于信息,我的训练/验证数据集是 370 行,大约。900 个功能。

1个回答

370 行,约 900 个特征不是最优的。我建议减少一些尺寸。PCA、因子分析、PLS 回归是一些替代方案。

您也可以尝试 lasso- / elasticnet -regression。

这是一个很好的指南。https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html