モデル選択に関する Scikit Learnのページでは、ネストされた相互検証の使用について言及されています。
>>> clf = GridSearchCV(estimator=svc, param_grid=dict(gamma=gammas), ... n_jobs=-1) >>> cross_validation.cross_val_score(clf, X_digits, y_digits)
2つの交差検証ループが並行して実行されます。1つはGridSearchCV推定器によってガンマを設定し、もう1つはcross_val_scoreによって推定器の予測パフォーマンスを測定します。結果のスコアは、新しいデータの予測スコアの公平な推定値です。
私が理解していることから、clf.fit
クロス検証をネイティブに使用して、最適なガンマを決定します。その場合、上記のようにネストされたcvを使用する必要があるのはなぜですか?注では、ネストされたcvが予測スコアの「不偏推定値」を生成することに言及しています。それもそうではありませんclf.fit
か?
また、cross_validation.cross_val_score(clf, X_digits, y_digits)
手順からclfの最良の推定値を取得できませんでした。どうやってそれができるのか教えていただけますか?