cross_validation. , , .
:
svr = SVC(kernel="rbf")
c_grid = {"C": [1, 10, 100, ... ]}
inner_cv = KFold(n_splits=5, shuffle=True, random_state=i)
outer_cv = KFold(n_splits=10, shuffle=True, random_state=i)
clf = GridSearchCV(estimator=svr, param_grid=c_grid, cv=inner_cv)
clf.fit(X_iris, y_iris)
non_nested_score = clf.best_score_
clf = GridSearchCV(estimator=svr, param_grid=c_grid, cv=inner_cv)
nested_score = cross_val_score(clf, X=X_iris, y=y_iris, cv=outer_cv).mean()
- cross_val_score() GridSearchCV()
- clf = GridSearchCV (, param_grid, cv = internal_cv).
clf, X, y, outer_cv cross_val_score- cross_val_score,
X X_outer_train, X_outer_test outer_cv. y. X_outer_test , X_outer_train clf fit() (GridSearchCV ). , X_outer_train X_inner, , , y_outer_train - y_inner.X_inner X_inner_train X_inner_test inner_cv GridSearchCV. y- gridSearch
X_inner_train y_train_inner X_inner_test y_inner_test. - 5 6 inner_cv_iters ( 5).
- , ,
clf.best_estimator_ , .. X_train. clf (gridsearch.best_estimator_) X_outer_test y_outer_test.- 3 9 outer_cv_iters ( 10),
cross_val_score - mean()
nested_score.