Answers:
我假设您将特征选择视为特征工程。我通常遵循的流程,我看到有人这样做是
在功能上尝试一些算法,通常是高性能的算法,例如RandomForest,Gradient Boosted Trees,Neutral Networks或SVM。
2.1进行简单的参数调整,例如对小范围的参数进行网格搜索
如果第2步的结果不令人满意,请返回第1步以生成更多功能,或删除多余的功能并保留最佳功能,人们通常将其称为“ 功能选择”。如果没有新功能的想法,请尝试更多算法。
如果结果正确或接近您想要的结果,则转到步骤3
这样做的原因是分类全都与要素工程有关,除非您知道一些不可思议的强大分类器,例如针对特定问题(例如计算机视觉)定制的深度学习。生成好的功能是关键。选择分类器很重要,但并不重要。上面提到的所有分类器在性能方面都相当可比,大多数时候,最好的分类器就是其中之一。
在某些情况下,参数调整可以大大提高性能。但是,如果没有好的功能,调优并没有太大帮助。请记住,您总是有时间进行参数调整。另外,没有必要进行大量的参数调整,然后您会发现一个新功能并重做整个过程。
嘿,我刚刚看到您的问题。首先进行特征选择,然后使用交叉验证对模型进行调整是完全错误的。在统计学习的元素和此博客文章中明确提到: 仅当您所有的模型构建都在CV循环内完成时,CV方法才是无偏见的。因此,在CV循环内进行特征选择以进行参数调整。使用R中MLR包中的过滤器包装可以轻松完成此操作。