Validation croisée en apprentissage automatique avec Python

Beginner

This tutorial is from open-source community. Access the source code

Introduction

En apprentissage automatique, la validation croisée est une technique utilisée pour évaluer les performances d'un modèle sur un ensemble de données indépendant. Elle aide à prévenir le surapprentissage en fournissant une meilleure estimation de la capacité du modèle à généraliser à de nouvelles données non vues.

Dans ce laboratoire, nous explorerons le concept de validation croisée et comment l'implémenter à l'aide de la bibliothèque scikit-learn en Python.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Importez les bibliothèques nécessaires

Tout d'abord, importons les bibliothèques nécessaires pour ce laboratoire.

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn import datasets
from sklearn import svm

Chargez l'ensemble de données

Ensuite, chargeons un ensemble de données pour entraîner notre modèle. Dans cet exemple, nous utiliserons l'ensemble de données Iris, qui est un ensemble de données populaire pour les tâches de classification.

X, y = datasets.load_iris(return_X_y=True)

Divisez l'ensemble de données en ensembles d'entraînement et de test

Pour évaluer les performances de notre modèle, nous devons diviser l'ensemble de données en un ensemble d'entraînement et un ensemble de test. Nous utiliserons la fonction train_test_split de la bibliothèque scikit-learn pour ce faire.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=0)

Entraînez et évaluez le modèle

Maintenant, entraînons un classifieur à vecteurs de support (SVM) sur l'ensemble d'entraînement et évaluons ses performances sur l'ensemble de test.

clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)
score = clf.score(X_test, y_test)
print("Accuracy: ", score)

Sommaire

Dans ce laboratoire, nous avons appris à implémenter la validation croisée à l'aide de la bibliothèque scikit-learn en Python. Nous avons divisé l'ensemble de données en ensembles d'entraînement et de test, entraîné un modèle sur l'ensemble d'entraînement et évalué ses performances sur l'ensemble de test. La validation croisée aide à prévenir le surapprentissage et fournit une meilleure estimation de la capacité d'un modèle à généraliser à de nouvelles données non vues.