使用相关性进行特征选择

Feature selection using correlation

我正在进行特征选择,以使用相关性训练我的机器学习 (ML) 模型。我用所有特征训练了每个模型(SVM、NN、RF)并进行了 10 折交叉验证以获得平均准确度得分值。 然后我删除了相关系数为零的特征(这意味着特征和 class 之间没有关系)并用所有特征训练每个模型(SVM、NN、RF)并进行 10 倍交叉验证获取平均准确度得分值。

基本上我的 objective 是根据我在上述两种情况下获得的准确度分数进行特征选择。但是我不确定这是否是一种好的特征选择方法。

我还想进行网格搜索以确定最佳模型参数。但我对 Scikit 学习中的 GridSearchCV 感到困惑 API。由于它还进行交叉验证(默认 3 次),我可以使用在上述两种情况下进行网格搜索获得的 best_score_ 值来确定模型训练的优点是什么吗?

请教我这个困惑,或者请建议我有一个很好的参考阅读。

提前致谢

正如 this thesis 第 51 页所说,

In other words, a feature is useful if it is correlated with or predictive of the class; otherwise it is irrelevant.

报告接着说,您不仅应该删除与目标不相关的特征,还应该注意彼此高度相关的特征。另见 this.

换句话说,查看特征与 类(目标)的相关性并删除几乎没有或没有相关性的特征似乎是一件好事。

Basically my objective is to do feature selection based on accuracy scores I get in above two scenarios. But I'm not sure whether this is a good approach for feature selection.

是的,您完全可以 运行 使用不同的功能集进行实验,并查看 测试准确度 到 select 表现最佳的功能。只看测试精度,即模型在未见数据上的性能,这一点非常重要。

Also I want to do a grid search to identify best model parameters.

执行网格搜索以找到最佳 hyper 参数。模型参数是在训练期间学习的。

Since it also do a cross validation (default 3 folds) can I use best_score_ value obtained doing a grid search in above two scenarios to determine what are the good features for model training?

如果超参数组是固定的,最佳分值将只受特征集的影响,因此可以用来比较特征的有效性。