Scikit Learn的“模型选择”页面提到了嵌套交叉验证的使用:
>>> clf = GridSearchCV(estimator=svc, param_grid=dict(gamma=gammas), ... n_jobs=-1) >>> cross_validation.cross_val_score(clf, X_digits, y_digits)
并行执行两个交叉验证循环:一个由GridSearchCV估计器设置gamma,另一个由cross_val_score来测量估计器的预测性能。所得分数是对新数据的预测分数的无偏估计。
据我了解,clf.fit
将原生使用交叉验证来确定最佳伽玛值。在那种情况下,为什么我们需要使用上面给出的嵌套cv?该说明提到嵌套的cv会生成预测分数的“无偏估计”。难道不是clf.fit
吗?
另外,我无法从该cross_validation.cross_val_score(clf, X_digits, y_digits)
过程中获得clf最佳估计。您能告诉我该怎么做吗?