Scikit-learn – apprentissage automatique

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que Scikit-learn

Scikit-learn est l'une des bibliothèques Python les plus populaires et les plus puissantes pour l'apprentissage automatique (machine learning) en open source. Développée en 2007 par David Cournapeau, cette bibliothèque est devenue la norme de facto pour l'implémentation d'algorithmes de machine learning dans l'écosystème Python.

Tâches principales et capacités de Scikit-learn

La bibliothèque fournit des outils prêts à l'emploi pour résoudre un large éventail de tâches de machine learning :

Tâches d'apprentissage supervisé :

  • Classification — détermination de l'appartenance d'objets à des classes spécifiques
  • Régression — prédiction de valeurs numériques continues

Tâches d'apprentissage non supervisé :

  • Clustering — regroupement d'objets similaires
  • Réduction de dimensionnalité — compression des données tout en conservant les informations importantes
  • Détection d'anomalies — identification des valeurs aberrantes dans les données

Capacités supplémentaires :

  • Prétraitement des données — normalisation, mise à l'échelle, encodage
  • Sélection de caractéristiques — choix des attributs les plus informatifs
  • Évaluation des modèles — diverses métriques de qualité
  • Validation croisée — vérification de la robustesse du modèle
  • Réglage des hyperparamètres — configuration automatique des paramètres

Installation et configuration initiale

Installation via pip

pip install scikit-learn

Installation avec dépendances supplémentaires

pip install scikit-learn pandas matplotlib seaborn jupyter

Vérification de l'installation

import sklearn
print(sklearn.__version__)

Importation des composants principaux

# Modules principaux
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.preprocessing import StandardScaler, LabelEncoder
from sklearn.linear_model import LinearRegression, LogisticRegression
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, classification_report
from sklearn.datasets import load_iris, make_classification

Architecture et concepts clés

Estimator (Estimateur)

Estimator est la classe de base pour tous les algorithmes de machine learning dans Scikit-learn. Chaque estimator implémente deux méthodes principales :

  • fit(X, y) — entraînement du modèle sur les données
  • predict(X) — prédiction pour de nouvelles données
from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(X_train, y_train)
predictions = model.predict(X_test)

Transformer (Transformateur)

Transformer est une classe pour la transformation des données. Elle implémente les méthodes :

  • fit(X) — apprentissage des paramètres de transformation
  • transform(X) — application de la transformation
  • fit_transform(X) — combinaison de fit et transform
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

Pipeline (Pipeline)

Pipeline permet de combiner plusieurs étapes de traitement des données et d'apprentissage en une séquence unique :

from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC

pipeline = Pipeline([
    ('scaler', StandardScaler()),
    ('classifier', SVC())
])

pipeline.fit(X_train, y_train)
predictions = pipeline.predict(X_test)

Travailler avec les données

Jeux de données intégrés

Scikit-learn fournit de nombreux jeux de données prêts à l'emploi

Recommendations