En jouant avec le Boston Housing Dataset et RandomForestRegressor
(avec les paramètres par défaut) dans scikit-learn, j'ai remarqué quelque chose d'étrange: le score moyen de validation croisée a diminué lorsque j'ai augmenté le nombre de plis au-delà de 10. Ma stratégie de validation croisée était la suivante:
cv_met = ShuffleSplit(n_splits=k, test_size=1/k)
scores = cross_val_score(est, X, y, cv=cv_met)
... où num_cvs
était varié. Je me suis mis test_size
à 1/num_cvs
refléter le comportement de taille fractionnée train / test du CV k-fold. Fondamentalement, je voulais quelque chose comme CV k-fold, mais j'avais aussi besoin de hasard (d'où ShuffleSplit).
Cet essai a été répété plusieurs fois, et les scores moyens et les écarts-types ont ensuite été tracés.
(Notez que la taille de k
est indiquée par l'aire du cercle; l'écart-type est sur l'axe Y.)
De manière cohérente, une augmentation k
(de 2 à 44) entraînerait une brève augmentation du score, suivie d'une diminution régulière au fur et à mesure de l' k
augmentation (au-delà de ~ 10 fois)! Si quoi que ce soit, je m'attendrais à ce que plus de données d'entraînement entraînent une augmentation mineure du score!
Mise à jour
Changer les critères de notation pour signifier une erreur absolue entraîne un comportement que j'attendrais: la notation s'améliore avec un nombre accru de plis dans K-fold CV, plutôt que d'approcher de 0 (comme avec la valeur par défaut, `` r2 ''). La question demeure de savoir pourquoi la métrique de notation par défaut entraîne des performances médiocres dans les métriques moyennes et STD pour un nombre croissant de plis.
Réponses:
Le score r ^ 2 n'est pas défini lorsqu'il est appliqué à un échantillon unique (par exemple, CV à sortie unique).
r ^ 2 n'est pas bon pour l'évaluation de petits ensembles de tests: lorsqu'il est utilisé pour évaluer un ensemble de tests suffisamment petit, le score peut être loin dans le négatif malgré de bonnes prédictions.
Pour un échantillon unique, une bonne prédiction pour un domaine donné peut sembler terrible:
Augmentez la taille de l'ensemble de test (en conservant la précision des prédictions), et soudain, le score r ^ 2 apparaît presque parfait:
Pris à l'autre extrême, si la taille du test est de 2 échantillons, et que nous évaluons par hasard 2 échantillons qui sont proches l'un de l'autre par hasard, cela aura un impact substantiel sur le score r ^ 2, même si les prédictions sont assez bonnes :
la source