Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Réseau de Neurones avec scikit-learn | Réseau de Neurones à Partir de Zéro
Introduction aux Réseaux de Neurones

bookRéseau de Neurones avec scikit-learn

Travailler avec des réseaux de neurones peut s’avérer complexe, surtout lorsqu’il s’agit de les construire à partir de zéro. Au lieu de coder manuellement les algorithmes et les formules, il est possible d’utiliser des outils prêts à l’emploi tels que la bibliothèque sklearn.

Avantages de l’utilisation de sklearn

  1. Facilité d’utilisation : il n’est pas nécessaire d’approfondir les détails de chaque algorithme. Il suffit d’utiliser des méthodes et des classes prêtes à l’emploi ;

  2. Optimisation : la bibliothèque sklearn est optimisée pour la performance, ce qui peut réduire le temps d’entraînement du modèle ;

  3. Documentation complète : sklearn propose une documentation détaillée avec des exemples d’utilisation, ce qui accélère considérablement l’apprentissage ;

  4. Compatibilité : sklearn s’intègre facilement avec d’autres bibliothèques Python populaires telles que numpy, pandas et matplotlib.

Perceptron dans sklearn

Pour créer le même modèle que dans cette section, il est possible d’utiliser la classe MLPClassifier de la bibliothèque sklearn. Ses principaux paramètres sont les suivants :

  • max_iter : définit le nombre maximal d’époques pour l’entraînement ;
  • hidden_layer_sizes : indique le nombre de neurones dans chaque couche cachée sous forme de tuple ;
  • learning_rate_init : fixe le taux d’apprentissage pour la mise à jour des poids.
Note
Remarque

Par défaut, MLPClassifier utilise la fonction d'activation ReLU pour les couches cachées. Pour la classification binaire, la couche de sortie est essentiellement identique à celle que vous avez implémentée.

Par exemple, avec une seule ligne de code, il est possible de créer un perceptron avec deux couches cachées de 10 neurones chacune, en utilisant au maximum 100 époques pour l'entraînement et un taux d'apprentissage de 0.5 :

from sklearn.neural_network import MLPClassifier

model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Note
Remarque

Les réseaux de neurones dans sklearn déterminent le nombre d'entrées et de sorties en fonction des données sur lesquelles ils sont entraînés. Il n'est donc pas nécessaire de les définir manuellement.

Comme dans notre implémentation, l'entraînement du modèle consiste simplement à appeler la méthode fit() :

model.fit(X_train, y_train)

Pour obtenir les étiquettes prédites (par exemple, sur l'ensemble de test), il suffit d'appeler la méthode predict() :

y_pred = model.predict(X_test)
Tâche

Swipe to start coding

Votre objectif est de recréer, d'entraîner et d'évaluer un modèle de perceptron en utilisant la bibliothèque scikit-learn, en suivant la même structure que l'implémentation personnalisée réalisée précédemment.

Procédez comme suit :

  1. Initialiser le perceptron à l'aide de la classe MLPClassifier :
  • Définir le nombre d'époques d'entraînement à 100 avec max_iter=100 ;
  • Utiliser deux couches cachées, chacune contenant 6 neurones (hidden_layer_sizes=(6, 6)) ;
  • Définir le taux d'apprentissage à 0.01 avec learning_rate_init=0.01 ;
  • Ajouter random_state=10 pour la reproductibilité.
  1. Entraîner le modèle sur l'ensemble d'entraînement à l'aide de la méthode .fit().
  2. Obtenir les prédictions pour tous les exemples de l'ensemble de test avec la méthode .predict().
  3. Évaluer la performance en calculant la précision du modèle sur l'ensemble de test avec la fonction accuracy_score().

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 13
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

close

Awesome!

Completion rate improved to 4

bookRéseau de Neurones avec scikit-learn

Glissez pour afficher le menu

Travailler avec des réseaux de neurones peut s’avérer complexe, surtout lorsqu’il s’agit de les construire à partir de zéro. Au lieu de coder manuellement les algorithmes et les formules, il est possible d’utiliser des outils prêts à l’emploi tels que la bibliothèque sklearn.

Avantages de l’utilisation de sklearn

  1. Facilité d’utilisation : il n’est pas nécessaire d’approfondir les détails de chaque algorithme. Il suffit d’utiliser des méthodes et des classes prêtes à l’emploi ;

  2. Optimisation : la bibliothèque sklearn est optimisée pour la performance, ce qui peut réduire le temps d’entraînement du modèle ;

  3. Documentation complète : sklearn propose une documentation détaillée avec des exemples d’utilisation, ce qui accélère considérablement l’apprentissage ;

  4. Compatibilité : sklearn s’intègre facilement avec d’autres bibliothèques Python populaires telles que numpy, pandas et matplotlib.

Perceptron dans sklearn

Pour créer le même modèle que dans cette section, il est possible d’utiliser la classe MLPClassifier de la bibliothèque sklearn. Ses principaux paramètres sont les suivants :

  • max_iter : définit le nombre maximal d’époques pour l’entraînement ;
  • hidden_layer_sizes : indique le nombre de neurones dans chaque couche cachée sous forme de tuple ;
  • learning_rate_init : fixe le taux d’apprentissage pour la mise à jour des poids.
Note
Remarque

Par défaut, MLPClassifier utilise la fonction d'activation ReLU pour les couches cachées. Pour la classification binaire, la couche de sortie est essentiellement identique à celle que vous avez implémentée.

Par exemple, avec une seule ligne de code, il est possible de créer un perceptron avec deux couches cachées de 10 neurones chacune, en utilisant au maximum 100 époques pour l'entraînement et un taux d'apprentissage de 0.5 :

from sklearn.neural_network import MLPClassifier

model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Note
Remarque

Les réseaux de neurones dans sklearn déterminent le nombre d'entrées et de sorties en fonction des données sur lesquelles ils sont entraînés. Il n'est donc pas nécessaire de les définir manuellement.

Comme dans notre implémentation, l'entraînement du modèle consiste simplement à appeler la méthode fit() :

model.fit(X_train, y_train)

Pour obtenir les étiquettes prédites (par exemple, sur l'ensemble de test), il suffit d'appeler la méthode predict() :

y_pred = model.predict(X_test)
Tâche

Swipe to start coding

Votre objectif est de recréer, d'entraîner et d'évaluer un modèle de perceptron en utilisant la bibliothèque scikit-learn, en suivant la même structure que l'implémentation personnalisée réalisée précédemment.

Procédez comme suit :

  1. Initialiser le perceptron à l'aide de la classe MLPClassifier :
  • Définir le nombre d'époques d'entraînement à 100 avec max_iter=100 ;
  • Utiliser deux couches cachées, chacune contenant 6 neurones (hidden_layer_sizes=(6, 6)) ;
  • Définir le taux d'apprentissage à 0.01 avec learning_rate_init=0.01 ;
  • Ajouter random_state=10 pour la reproductibilité.
  1. Entraîner le modèle sur l'ensemble d'entraînement à l'aide de la méthode .fit().
  2. Obtenir les prédictions pour tous les exemples de l'ensemble de test avec la méthode .predict().
  3. Évaluer la performance en calculant la précision du modèle sur l'ensemble de test avec la fonction accuracy_score().

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 13
single

single

some-alt