Python 首先要做什么:特征选择或模型参数设置?
这更像是一个“理论”问题。我正在使用scikit学习包来执行一些NLP任务。Sklearn提供了许多方法来执行特征选择和模型参数设置。我在想我应该先做什么 如果我使用,很明显,我应该先选择特征,然后用选择的特征,调整估计器的参数 但是如果我想用呢?我应该首先使用所有原始特征设置参数,然后执行特征选择吗?或者我应该首先选择特征(使用估计器的默认参数),然后使用所选特征设置参数 提前谢谢你能给我的任何帮助 编辑Python 首先要做什么:特征选择或模型参数设置?,python,machine-learning,scikit-learn,feature-selection,Python,Machine Learning,Scikit Learn,Feature Selection,这更像是一个“理论”问题。我正在使用scikit学习包来执行一些NLP任务。Sklearn提供了许多方法来执行特征选择和模型参数设置。我在想我应该先做什么 如果我使用,很明显,我应该先选择特征,然后用选择的特征,调整估计器的参数 但是如果我想用呢?我应该首先使用所有原始特征设置参数,然后执行特征选择吗?或者我应该首先选择特征(使用估计器的默认参数),然后使用所选特征设置参数 提前谢谢你能给我的任何帮助 编辑 我也有同样的问题。到那时,还没有解决办法。有人知道它现在是否存在吗?我个人认为,在大多数
我也有同样的问题。到那时,还没有解决办法。有人知道它现在是否存在吗?我个人认为,在大多数情况下,RFE是过分的,而且太贵了。如果要在线性模型上进行特征选择,请使用单变量特征选择,例如使用chi2测试或具有网格搜索正则化参数的L1或L1+L2正则化模型(在sklearn模型中通常命名为
C
或alpha
)
对于具有大量样本的高度非线性问题,您应该尝试RandomForestClassifier
、extratreeClassifier
或GBRT模型和网格搜索参数选择(可能使用OOB分数估计)并使用compute_importances
开关查找按重要性排列的特征,并将其用于特征选择
对于样本较少的高度非线性问题,我认为没有解决方案。你一定在做神经科学:)谢谢你的建议。因为我只打算使用LogistRegression和SVC,所以我认为chi2和/或L1就足够了。