Introduction au Machine Learning
Le Machine Learning (ML) est une branche de l’intelligence artificielle qui permet aux machines d’apprendre à partir de données sans être explicitement programmées.
Types d’apprentissage
Section intitulée « Types d’apprentissage »Apprentissage supervisé
Section intitulée « Apprentissage supervisé »Le modèle apprend à partir de données étiquetées (entrées + sorties attendues).
Exemples :
- Classification d’emails (spam/non-spam)
- Prédiction de prix immobilier
- Diagnostic médical
Apprentissage non supervisé
Section intitulée « Apprentissage non supervisé »Le modèle découvre des patterns dans des données non étiquetées.
Exemples :
- Segmentation de clients
- Détection d’anomalies
- Réduction de dimensions
Apprentissage par renforcement
Section intitulée « Apprentissage par renforcement »Le modèle apprend par essai-erreur en interagissant avec un environnement.
Exemples :
- Jeux (AlphaGo, jeux vidéo)
- Robotique
- Trading automatique
Workflow ML typique
Section intitulée « Workflow ML typique »┌──────────────┐ ┌──────────────┐ ┌──────────────┐│ Collecte │────▶│ Préparation │────▶│ Exploration ││ des données │ │ des données │ │ (EDA) │└──────────────┘ └──────────────┘ └──────────────┘ │ ▼┌──────────────┐ ┌──────────────┐ ┌──────────────┐│ Déploiement │◀────│ Évaluation │◀────│ Entraînement ││ │ │ │ │ du modèle │└──────────────┘ └──────────────┘ └──────────────┘Premier exemple avec scikit-learn
Section intitulée « Premier exemple avec scikit-learn »from sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_splitfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.metrics import accuracy_score
# Charger les donnéesiris = load_iris()X, y = iris.data, iris.target
# Diviser en train/testX_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=42)
# Créer et entraîner le modèlemodel = RandomForestClassifier(n_estimators=100, random_state=42)model.fit(X_train, y_train)
# Prédire et évaluery_pred = model.predict(X_test)accuracy = accuracy_score(y_test, y_pred)print(f"Précision : {accuracy:.2%}")Métriques d’évaluation
Section intitulée « Métriques d’évaluation »Classification
Section intitulée « Classification »| Métrique | Description | Utilisation |
|---|---|---|
| Accuracy | % de prédictions correctes | Classes équilibrées |
| Precision | % de vrais positifs parmi les positifs prédits | Minimiser faux positifs |
| Recall | % de vrais positifs parmi les vrais positifs réels | Minimiser faux négatifs |
| F1-Score | Moyenne harmonique precision/recall | Équilibre |
Régression
Section intitulée « Régression »| Métrique | Description |
|---|---|
| MAE | Erreur absolue moyenne |
| MSE | Erreur quadratique moyenne |
| RMSE | Racine de MSE |
| R² | Coefficient de détermination |
Bibliothèques essentielles
Section intitulée « Bibliothèques essentielles »# Manipulation de donnéesimport pandas as pdimport numpy as np
# Visualisationimport matplotlib.pyplot as pltimport seaborn as sns
# Machine Learningfrom sklearn import ... # ML classiqueimport xgboost as xgb # Gradient Boostingimport lightgbm as lgb # Gradient Boosting rapide
# Deep Learningimport tensorflow as tfimport torch