我的理解是否正确" greed_search.fit(X,Y)"在以下代码中没有嵌套CV?这意味着在sklearn中无法使用嵌套的CV获取最佳参数。
# inner cross_validation
greed_search = GridSearchCV(estimator=estimator, param_grid=parameters, cv=inner_cv, scoring=optimized_for)
greed_search.fit(X, optimization_label)
# Nested CV with parameter optimization
nested_score = cross_val_score(greed_search, X=X, y=Y, cv=outer_cv)
答案 0 :(得分:3)
您是对的:代码中的greed_search.fit(X, optimization_label)
按原样执行,而不会嵌套到下一个交叉验证中。
为了回答你的第二个问题,我问你另一个问题:嵌入交叉验证的网格搜索的最佳参数应该是什么?第一次弃牌?最公地?
在外部交叉验证的每个步骤中,内部网格搜索根据当前步骤的训练数据选择最佳参数。因此,参数可以在折叠之间改变。您可以自己进行外部交叉验证,计算每个步骤的最佳参数,但我认为您并不需要它。