Entraînement du modèle

Apprentissage Machine de bout en bout

Joshua Stapleton

Machine Learning Engineer

Rasoir d'Occam

  • L'explication satisfaisante la plus simple est la meilleure
  • Privilégier les modèles simples au moment de choisir

Image d'exemple illustrant le principe du rasoir d'Occam

Apprentissage Machine de bout en bout

Options de modélisation

Régression logistique

  • Trouve la frontière de décision entre les classes
  • sklearn.linear_model.LogisticRegression

Classifieur à vecteurs de support

  • Trouve un plan séparant les classes
  • sklearn.svm.SVC

Arbre de décision

  • Trouve des « règles » simples pour classer les données
  • sklearn.tree.DecisionTreeClassifier

Forêt aléatoire

  • Combine plusieurs arbres de décision
  • sklearn.ensemble.RandomForestClassifier
Apprentissage Machine de bout en bout

Autres modèles

Modèles d'apprentissage profond

  • Réseaux de neurones
  • Réseaux de neurones convolutionnels
  • Generative Pretrained Transformer (GPT)

K plus proches voisins (KNN)

  • Algorithme d'apprentissage supervisé

XGBoost

Apprentissage Machine de bout en bout

Principes d'entraînement

Modèle :

  • Utilise un ensemble de données nettoyé et avec caractéristiques traitées
  • Apprend des motifs dans les données d'entraînement
  • Vise à prédire la cible du diagnostic de cardiopathie

Principes :

  • Le modèle doit se généraliser à des données inédites (hors ensemble d'entraînement)
  • « Mettre de côté » des données pour tester après l'entraînement
  • La division entraînement/test est généralement 70/30 ou 80/20
  • Peut utiliser sklearn.model_selection.train_test_split
Apprentissage Machine de bout en bout

Entraîner un modèle

# Importation des bibliothèques nécessaires
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

# Diviser les données en ensembles d'entraînement et de test (80:20) X_train, X_test, y_train, y_test = train_test_split(features, heart_disease_y, test_size=0.2, random_state=42)
# Définir les modèles logistic_model = LogisticRegression(max_iter=200)
# Entraîner le modèle logistic_model.fit(X_train, y_train)
Apprentissage Machine de bout en bout

Obtenir les prédictions du modèle

# Données de santé de Jane Doe, p. ex. : [âge, cholestérol, tension artérielle, etc.]
jane_doe_data = [45, 230, 120, ...]

# Remodeler en 2D, car scikit-learn attend une entrée de type tableau 2D jane_doe_data = jane_doe_data.reshape(1, -1)
# Utiliser le modèle pour prédire les probabilités de diagnostic cardiaque de Jane jane_doe_probabilities = logistic_model.predict_proba(jane_doe_data) jane_doe_prediction = logistic_model.predict(jane_doe_data)
Apprentissage Machine de bout en bout

Obtenir les prédictions (suite)

# Afficher les probabilités
print(f"Jane Doe's predicted probabilities: {jane_doe_probabilities[0]}")
print(f"Jane Doe's predicted health condition: {jane_doe_prediction[0]}")
Jane Doe's predicted health condition probabilities: [0.2 0.8]

Jane Doe's predicted health condition: 1
Apprentissage Machine de bout en bout

Passons à la pratique !

Apprentissage Machine de bout en bout

Preparing Video For Download...