具有RFECV的GridSearchCV在sklearn中的含义

时间:2015-04-15 04:16:14

标签: scikit-learn cross-validation feature-selection

基于Recursive feature elimination and grid search using scikit-learn,我知道RFECV可以与GridSearchCV结合使用,以获得更好的模型参数设置,如线性SVM。

如答案所述,有两种方法:

  • “在RFECV上运行GridSearchCV,这将导致数据分成两次折叠(GridSearchCV内部和RFECV内部),但搜索组件数量将是有效的。”

  • “仅在RFE上使用GridSearchCV,这会导致数据的单一分割,但是对RFE估算器参数的扫描效率非常低。”

为了明确我的问题,我必须首先澄清RFECV:

  1. 将整个数据拆分为n个折叠。

  2. 在每个折叠中,通过仅将训练数据拟合到rfe来获取要素等级。

  3. 对排名进行排序并将训练数据拟合到SVM并在测试数据上进行测试以进行评分。这应该进行m次,每次都有减少的要素数量,其中m是假设step=1的要素数。

  4. 在前一步骤中获得了一系列得分,并且在步骤1~3进行了n次之后,这样的序列将在n次折叠中进行最后的平均,得到平均评分序列,表明最佳特征数要做rfe

  5. n_features_to_selectrfe的参数作为符合原始整数数据的最佳数量的参数。

  6. .support_获取功能中的“赢家”; .grid_scores_获得平均得分序列。

  7. 如果我错了,请纠正我,谢谢。
  8. 所以我的问题是在哪里放置GridSearchCV?我猜第二种方式“在RFE上做GridSearchCV”是在第5步做GridSearchCV,它将SVM的参数设置为网格中的一个值,使其适合GridSearchCV分割的训练数据,以获得步骤中建议的功能数量4,并用其余的数据进行测试以获得分数。这样的过程在k次完成,平均得分表示网格中该值的良好性,其中k是GridSearchCV中的参数cv。但是,由于替代训练数据和网格值,所选功能可能会有所不同,如果按照我的猜测进行,则第二种方式不合理。

    GridSearchCV实际上如何与RFECV结合使用?

0 个答案:

没有答案