我正在进行功能选择以使用相关性训练我的机器学习(ML)模型。我训练每个模型(SVM,NN,RF)具有所有特征并进行10倍交叉验证以获得平均准确度评分值。 然后我删除了具有零相关系数的特征(这意味着特征和类之间没有关系)并训练每个模型(SVM,NN,RF)具有所有特征并进行10倍交叉验证以获得平均准确度分数值。
基本上我的目标是根据我在上述两种情况下得到的准确度分数进行特征选择。但我不确定这是否是一种很好的功能选择方法。
另外,我想进行网格搜索以确定最佳模型参数。但我对Scikit学习API中的GridSearchCV感到困惑。既然它也进行了交叉验证(默认3倍),我可以使用在上述两个场景中进行网格搜索获得的best_score_值来确定模型训练的优点是什么?
请告诉我这个混乱,或者请建议我参考阅读。
提前致谢
答案 0 :(得分:0)
正如this thesis的第51页所说,
换句话说,如果某个特征与或相关,则该特征非常有用 预测班级;否则就无关紧要了。
报告继续说,您不仅应该删除与目标无关的功能,还应该注意彼此之间存在很大关联的功能。另请参阅this。
换句话说,查看要素与类(目标)的相关性并删除几乎没有相关性的特征似乎是一件好事。
基本上我的目标是根据准确度进行特征选择 我在两个场景中得到的分数。但我不确定这是不是 一种很好的特征选择方法。
是的,您可以使用不同的功能集完全运行实验,并查看测试准确性以选择效果最佳的功能。您只关注测试精度,即模型在看不见的数据上的表现,这一点非常重要。
另外,我想进行网格搜索以确定最佳模型参数。
执行网格搜索以找到最佳的超级参数。在训练期间学习模型参数。
因为它也可以使用交叉验证(默认3倍) 在上述两种情况下进行网格搜索获得的best_score_值 确定模型培训的优点是什么?
如果超参数集是固定的,则最佳得分值仅受特征集的影响,因此可用于比较特征的有效性。