Python机器学习,功能选择

时间:2012-03-11 17:33:23

标签: python scikits scikit-learn

我正在处理与书面文本相关的分类任务,我想知道执行某种“特征选择”程序以改进分类结果是多么重要。

我正在使用与主题相关的许多功能(大约40个),但我不确定所有功能是否真正相关,以及组合。我正在使用SVM(scikits)和LDAC(mlpy)。

如果a具有相关和不相关的功能,我认为我的分类结果会很差。我应该在分类之前执行“特征选择程序”吗?

Scikits an RFE procedure that is tree-based that is able to rank the features。使用基于树的RFE对要素进行排名以选择最重要的要素并使用SVM(非线性)或LDAC执行实际分类是否有意义?或者我应该使用相同的分类器来实现某种类型的包装器方法来对功能进行排名(尝试使用不同的功能组进行分类会非常耗时)?

2 个答案:

答案 0 :(得分:1)

试着看看它是否会改善用cross validation衡量的分类分数。在尝试RFE之前,我会尝试使用较少的CPU密集型方案,例如univariate chi2 feature selection

答案 1 :(得分:0)

拥有40个功能并不算太糟糕。一些机器学习受到不相关特征的阻碍,但许多事情对它们来说非常强大(例如朴素贝叶斯,SVM,决策树)。除非您决定添加更多功能,否则您可能不需要进行功能选择。

扔掉无用的功能并不是一个坏主意,但除非你有特殊的动机,否则不要浪费你自己的心理时间去尝试。