Pas encore de compte ?
La validation croisée est l'une des diverses techniques de validation de modèle similaires permettant d'évaluer comment les résultats d'une analyse statistique se généraliseront à un ensemble de données indépendant.
La validation croisée est une méthode de rééchantillonnage qui utilise différentes parties des données pour tester et former un modèle sur différentes itérations.
Il est principalement utilisé dans des contextes où l'objectif est la prédiction, et on veut estimer la précision avec laquelle un modèle prédictif fonctionnera dans la pratique.
Dans un problème de prédiction, un modèle reçoit un ensemble de données de données connues sur lesquelles la formation est exécutée, et un ensemble de données de données inconnues par rapport auxquelles le modèle est testé.
L'objectif de la validation croisée est de tester la capacité du modèle à prédire de nouvelles données qui n'ont pas été utilisées pour l'estimer.
Ceci, afin de signaler des problèmes tels que le surajustement ou le biais de sélection et de donner un aperçu de la façon dont le modèle se généralisera à un ensemble de données indépendant.
Machine Learning - Cross Validation K-Fold
Testé sous Anaconda et Python 3.7
from sklearn import datasets from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import KFold, cross_val_score X, y = datasets.load_iris(return_X_y=True) clf = DecisionTreeClassifier(random_state=42) k_folds = KFold(n_splits = 5) scores = cross_val_score(clf, X, y, cv = k_folds) print("Cross Validation Scores: ", scores) print("Average CV Score: ", scores.mean()) print("Number of CV Scores used in Average: ", len(scores))
Source : https://www.w3schools.com/python/python_ml_cross_validation.asp
Machine Learning - Cross Validation Stratified K-Fold
Testé sous Anaconda et Python 3.7
from sklearn import datasets from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import StratifiedKFold, cross_val_score X, y = datasets.load_iris(return_X_y=True) clf = DecisionTreeClassifier(random_state=42) sk_folds = StratifiedKFold(n_splits = 5) scores = cross_val_score(clf, X, y, cv = sk_folds) print("Cross Validation Scores: ", scores) print("Average CV Score: ", scores.mean()) print("Number of CV Scores used in Average: ", len(scores))
Source : https://www.w3schools.com/python/python_ml_cross_validation.asp
Machine Learning - Cross Validation Leave One Out (LOO)
Testé sous Anaconda et Python 3.7
from sklearn import datasets from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import LeaveOneOut, cross_val_score X, y = datasets.load_iris(return_X_y=True) clf = DecisionTreeClassifier(random_state=42) loo = LeaveOneOut() scores = cross_val_score(clf, X, y, cv = loo) print("Cross Validation Scores: ", scores) print("Average CV Score: ", scores.mean()) print("Number of CV Scores used in Average: ", len(scores))
Source : https://www.w3schools.com/python/python_ml_cross_validation.asp
Machine Learning - Cross Validation Leave P Out (LPO)
Testé sous Anaconda et Python 3.7
from sklearn import datasets from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import LeavePOut, cross_val_score X, y = datasets.load_iris(return_X_y=True) clf = DecisionTreeClassifier(random_state=42) lpo = LeavePOut(p=2) scores = cross_val_score(clf, X, y, cv = lpo) print("Cross Validation Scores: ", scores) print("Average CV Score: ", scores.mean()) print("Number of CV Scores used in Average: ", len(scores))
Source : https://www.w3schools.com/python/python_ml_cross_validation.asp
Machine Learning - Cross Validation Shuffle Split
Testé sous Anaconda et Python 3.7
from sklearn import datasets from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import ShuffleSplit, cross_val_score X, y = datasets.load_iris(return_X_y=True) clf = DecisionTreeClassifier(random_state=42) ss = ShuffleSplit(train_size=0.6, test_size=0.3, n_splits = 5) scores = cross_val_score(clf, X, y, cv = ss) print("Cross Validation Scores: ", scores) print("Average CV Score: ", scores.mean()) print("Number of CV Scores used in Average: ", len(scores))
Source : https://www.w3schools.com/python/python_ml_cross_validation.asp
Bienvenu, je m’appelle Eric Soupet et je suis l'administrateur du site elodees.com. elodees.com est un état de l'art de l'Intelligence Artificielle et se veut collaboratif, vous pouvez dès à présent proposer du contenu tels que des articles, des événements, des tutoriels, ... alors n'hésitez pas !
Crédit des images de la plate-forme : Pixabay - Pixabay License | Pexels - Pexels License