J'ai toujours pensé, d'après ce que j'ai lu, que la validation croisée est effectuée comme ceci:
Dans la validation croisée k fois, l'échantillon d'origine est divisé de façon aléatoire en k sous-échantillons. Parmi les k sous-échantillons, un seul sous-échantillon est conservé comme données de validation pour tester le modèle, et les k-1 sous-échantillons restants sont utilisés comme données d'apprentissage. Le processus de validation croisée est ensuite répété k fois (les plis), chacun des k sous-échantillons étant utilisé exactement une fois comme données de validation. Les k résultats des plis peuvent ensuite être moyennés (ou autrement combinés) pour produire une estimation unique
Donc, k modèles sont construits et le dernier est la moyenne de ceux-ci. Dans le guide Weka, il est écrit que chaque modèle est toujours construit en utilisant TOUS les ensembles de données. Alors, comment fonctionne la validation croisée dans Weka? Le modèle est-il construit à partir de toutes les données et la "validation croisée" signifie que k plis sont créés, puis chaque pli est évalué dessus et le résultat final est simplement le résultat moyen des plis?
Alors, voici à nouveau le scénario: vous avez 100 données étiquetées
tiliser l'ensemble de formation
tilisez 10 CV
Weka prend 100 données étiquetées
il produit 10 ensembles de taille égale. Chaque ensemble est divisé en deux groupes: 90 données étiquetées sont utilisées pour la formation et 10 données étiquetées sont utilisées pour les tests.
il produit un classificateur avec un algorithme à partir de 90 données étiquetées et l'applique sur les 10 données de test pour l'ensemble 1.
Il fait la même chose pour les ensembles 2 à 10 et produit 9 classificateurs supplémentaires
il fait la moyenne des performances des 10 classificateurs produits à partir de 10 ensembles de taille égale (90 formations et 10 tests)
Faites-moi savoir si cela répond à votre question.
J'aurais répondu dans un commentaire mais ma réputation ne me permet toujours pas:
En plus de la réponse acceptée de Rushdi, je tiens à souligner que les modèles créés pour les jeux de plis de validation croisée sont tous rejetés après que les mesures de performance ont été effectuées et moyennées.
Le modèle résultant est toujours basé sur l'ensemble d'entraînement complet, quelles que soient vos options de test. Étant donné que MTA demandait une mise à jour du lien cité, la voici: https://web.archive.org/web/20170519110106/http://list.waikato.ac.nz/pipermail/wekalist/ 2009-décembre/046633.html / . C'est une réponse de l'un des responsables de la WEKA, soulignant exactement ce que j'ai écrit.
Je pense que je l'ai compris. Prends pour exemple) weka.classifiers.rules.OneR -x 10 -d outmodel.xxx
. Cela fait deux choses:
outmodel.xxx
. Ce modèle est pas utilisé dans le cadre de la validation croisée.Weka suit la validation croisée k-fold conventionnelle que vous avez mentionnée ici. Vous avez l'ensemble de données complet, puis le divisez en k ns d'ensembles égaux (k1, k2, ..., k10 par exemple pour un CV 10 fois) sans chevauchements. Ensuite, lors de la première manche, prenez k1 à k9 comme ensemble d'entraînement et développez un modèle. Utilisez ce modèle sur k10 pour obtenir les performances. Vient ensuite k1 à k8 et k10 comme ensemble d'entraînement. Développez un modèle à partir d'eux et appliquez-le à k9 pour obtenir les performances. De cette façon, utilisez tous les plis où chaque pli au plus 1 fois est utilisé comme ensemble de test.
Ensuite, Weka fait la moyenne des performances et la présente dans le volet de sortie.
une fois que nous avons effectué la validation croisée 10 en divisant les données en 10 segments et en créant un arbre de décision et en l'évaluant, Weka exécute l'algorithme une onzième fois sur l'ensemble de données. Cela produira alors un classificateur que nous pourrions déployer en pratique. Nous utilisons la validation croisée 10 fois afin d'obtenir un résultat d'évaluation et une estimation de l'erreur, puis nous effectuons une dernière fois la classification pour obtenir un classificateur réel à utiliser dans la pratique. Pendant la kième validation croisée, nous aurons un arbre de décision différent mais le dernier est créé sur des ensembles de données entiers. CV est utilisé pour voir si nous avons un problème de sur-ajustement ou de grande variance.