La página de Scikit Learn sobre Selección de modelos menciona el uso de validación cruzada anidada:
>>> clf = GridSearchCV(estimator=svc, param_grid=dict(gamma=gammas), ... n_jobs=-1) >>> cross_validation.cross_val_score(clf, X_digits, y_digits)
Se realizan dos bucles de validación cruzada en paralelo: uno mediante el estimador GridSearchCV para establecer gamma y el otro mediante cross_val_score para medir el rendimiento de predicción del estimador. Las puntuaciones resultantes son estimaciones imparciales de la puntuación de predicción en los nuevos datos.
Por lo que entiendo, clf.fit
utilizará la validación cruzada de forma nativa para determinar la mejor gama. En ese caso, ¿por qué necesitaríamos usar cv anidado como se indicó anteriormente? La nota menciona que el cv anidado produce "estimaciones no sesgadas" del puntaje de predicción. ¿No es ese también el caso clf.fit
?
Además, no pude obtener las mejores estimaciones de clf del cross_validation.cross_val_score(clf, X_digits, y_digits)
procedimiento. ¿Podría aconsejarme cómo se puede hacer eso?