Coursera Learner working on a presentation with Coursera logo and
Coursera Learner working on a presentation with Coursera logo and

La validation croisée aide à l’évaluation des modèles d’apprentissage automatique. Cette méthode statistique aide à comparer et à sélectionner le modèle dans l’apprentissage automatique appliqué. La compréhension et la mise en œuvre de ce problème de modélisation prédictive sont faciles et directes. Cette technique présente un biais plus faible lors de l’estimation des compétences du modèle. Cet article vous aidera à comprendre le concept de la validation croisée k-fold et comment vous pouvez évaluer un modèle d’apprentissage automatique en utilisant cette technique.

Validation croisée K-Fold

La validation croisée k-fold signifie que l’ensemble de données se divise en un nombre K. Elle divise l’ensemble de données au point où l’ensemble de test utilise chaque pli. Comprenons le concept à l’aide de la validation croisée à 5 volets ou K+5. Dans ce scénario, la méthode divise l’ensemble de données en cinq volets. Le modèle utilise le premier pli dans la première itération pour tester le modèle. Il utilise les autres ensembles de données pour former le modèle. Le deuxième pli aide à tester l’ensemble de données et les autres soutiennent le processus de formation. Le même processus se répète jusqu’à ce que l’ensemble de test utilise chaque pli des cinq plis.

Validation croisée K-Fold dans l’apprentissage automatique

Outre les nombreux avantages des algorithmes d’apprentissage automatique, le modèle suit le même modèle pour prédire et générer les données de valeurs discrètes ou continues. Il est essentiel de s’assurer que les données du modèle sont exactes et qu’elles ne sont ni sous-adaptées ni sur-adaptées. L’underfitting et le overfitting sont deux concepts majeurs de l’apprentissage automatique. Ces termes définissent la capacité d’un modèle à prédire les données. Pour vérifier la performance et le comportement de l’algorithme, l’overfitting inclut une valeur d’hyperparamètre.

Sous-adaptation dans l’apprentissage automatique

Le modèle peut générer des prédictions précises avec de nouvelles données lorsque le modèle s’adapte parfaitement à l’ensemble de données. Un algorithme approprié pour l’ensemble de données formé peut aider à former le nouvel ensemble de données. Par ailleurs, si le modèle d’apprentissage automatique s’appuie sur un processus de formation inadapté, il ne pourra pas générer de données précises ou de prédictions adéquates. Par conséquent, le modèle ne parviendra pas à traiter les modèles importants des ensembles de données.
Lorsque le modèle s’arrête au cours du processus de formation, cela entraîne un sous-ajustement. Cela indique que les données nécessitent plus de temps pour être traitées complètement. Cela affectera les performances du modèle pour les nouvelles données. Le modèle ne produira pas de résultats précis et ne sera d’aucune utilité.

-L’overfitting dans l’apprentissage automatique

L’overfitting est simplement l’opposé de l’underfitting. Cela signifie qu’en plus d’apprendre les données et d’extraire le modèle, le modèle apprend plus que sa capacité. Cette condition indique que les données vont capter du bruit, ce qui conduit à la généralisation du modèle pour les nouvelles données. Le bruit est constitué de données non pertinentes qui affectent la sortie de la prédiction lors de la rencontre de nouvelles données.

Évaluation d’un modèle ML à l’aide de la validation croisée K-Fold

Ci-dessous, nous allons évaluer le modèle de régression simple en utilisant la technique de validation croisée K-fold. Nous allons effectuer une validation croisée 10 fois dans cet exemple.

importation des bibliothèques

La première étape consiste à importer toutes les bibliothèques dont vous avez besoin pour réaliser cette technique de validation croisée sur un modèle simple d’apprentissage automatique.
Importer pandas
from sklearn.model_selection import KFold
from sklearn.preprocessing import MinMaxScaler
from sklearn.svm import SVR
import NumPy as np
Ces bibliothèques permettent d’effectuer différentes tâches :

  • Numpy -Vous aide à effectuer des calculs scientifiques.
  • Pandas -Vous aide à manipuler facilement la structure des données.
  • Sklearn – C’est une bibliothèque d’apprentissage automatique que vous pouvez utiliser pour Python.

lecture de l’ensemble de données

Maintenant, vous allez lire le jeu de données que vous allez utiliser. Nous allons utiliser pandas pour structurer la trame de données.
dataset = pandas.read_csv(‘housing.csv’)

prétraitement

Identifiez les variables de sortie et les caractéristiques de notre jeu de données.
X = dataset.iloc[ :, [0, 12]]
y = dataset.iloc[ :, 13]
Selon le code ci-dessus, toutes les lignes de 0 à 12 sont les caractéristiques, et l’indice 13 sur la colonne est la variable dépendante ou la sortie du modèle. Maintenant, nous pouvons appliquer la technique de prétraitement. Cette technique de mise à l’échelle MinMax va normaliser l’ensemble des données.
scaler = MinMaxScaler(feature_range=(0, 1))
X = scaler.fit_transform(X)
Avec l’aide de cette technique, vous pouvez redimensionner les données dans une plage spécifique. Dans cet exemple, la plage serait comprise entre 0 et 1. Cela nous aidera à comprendre que les différentes caractéristiques n’affecteront pas la prédiction finale.

K-Fold CV

Maintenant, nous allons commencer le processus de validation avec les codes suivants :
scores = []
best_svr = SVR(kernel=’rbf’)
cv = KFold(n_splits=10, random_state=42, shuffle=False)
for train_index, test_index in cv.split(X) :
print(“Index du train : “, train_index, “\n”)
print(“Index de test : “, test_index)

X_train, X_test, y_train, y_test = X[train_index], X[test_index], y[train_index], y[test_index]
best_svr.fit(X_train, y_train)
scores.append(best_svr.score(X_test, y_test))

Conclusion

La validation croisée K-fold améliore le modèle en validant les données. Cette technique garantit que le score du modèle n’est pas lié à la technique utilisée pour choisir l’ensemble de données de test ou d’entraînement. La méthode de validation croisée K-fold divise l’ensemble de données en sous-ensembles de nombre K. Elle répète donc la méthode de retenue. Elle répète donc la méthode de validation croisée k nombre de fois.