L'ensemble de test et l'ensemble de validation croisée ont des objectifs différents. Si vous supprimez l'un ou l'autre, vous perdez ses avantages:
L'ensemble de validation croisée est utilisé pour aider à détecter le sur-ajustement et pour aider à la recherche d'hyper-paramètre.
L'ensemble de test est utilisé pour mesurer les performances du modèle.
Vous ne pouvez pas utiliser l'ensemble de validation croisée pour mesurer les performances de votre modèle avec précision, parce que vous délibérément affiner vos résultats pour obtenir la meilleure possible métrique, plus peut - être des centaines de variations de vos paramètres. Le résultat de la validation croisée est donc probablement trop optimiste.
Pour la même raison, vous ne pouvez pas supprimer l'ensemble de validation croisée et utiliser l'ensemble de test pour sélectionner des paramètres hyper, car vous êtes à peu près assuré de surestimer la qualité de votre modèle. Dans le monde idéal, vous utilisez l'ensemble de test une seule fois, ou vous l'utilisez de manière "neutre" pour comparer différentes expériences.
Si vous effectuez une validation croisée, trouvez le meilleur modèle, puis ajoutez les données de test pour vous entraîner, il est possible (et dans certaines situations peut-être très probable) que votre modèle sera amélioré. Cependant, vous n'avez aucun moyen de vous assurer que cela s'est réellement produit, et même si c'est le cas, vous ne disposez d'aucune estimation impartiale de la nouvelle performance.
Après avoir assisté à de nombreuses compétitions Kaggle, mon expérience est que le réglage de l'ensemble de tests en le surutilisant est une chose réelle, et cela a un impact important sur ces compétitions. Il y a souvent un groupe de concurrents qui ont grimpé le classement public et sélectionné leur meilleur modèle en test (le classement public est en fait un ensemble de tests), tout en n'étant pas aussi complet sur leur validation croisée. . . ces concurrents s'affichent dans le classement lorsqu'un nouvel ensemble de test est introduit à la fin.
Une approche raisonnable consiste à réutiliser (train + cv) les données pour réentraîner en utilisant les hyper-paramètres que vous avez trouvés, avant de tester. De cette façon, vous vous entraînez sur plus de données et vous obtenez toujours une mesure indépendante des performances à la fin.
Si vous souhaitez tirer le meilleur parti de la validation croisée, l'approche habituelle est la validation croisée k-fold . Une astuce courante dans les compétitions Kaggle consiste à utiliser la validation croisée k-fold et au lieu de ré-combiner les données dans un ensemble d'entraînement plus grand (train + cv), pour regrouper ou empiler les résultats du cv dans un méta-modèle.
Enfin, vérifiez toujours que vos divisions pour la validation et le test sont robustes contre une éventuelle corrélation au sein de votre ensemble de données.