Comprendre la complexité du modèle

Machine LearningMachine LearningBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons explorer la manière dont la complexité du modèle influence à la fois la précision de prédiction et la performance de calcul. Nous utiliserons deux jeux de données - le Diabetes Dataset pour la régression et le 20newsgroups Dataset pour la classification. Nous modéliserons l'influence de la complexité sur trois estimateurs différents :

  • SGDClassifier (pour les données de classification) qui implémente l'apprentissage par descente de gradient stochastique
  • NuSVR (pour les données de régression) qui implémente la régression vectorielle à support Nu
  • GradientBoostingRegressor construit un modèle additif de manière progressive et itérative

Nous allons varier la complexité du modèle en choisissant les paramètres de modèle appropriés dans chacun de nos modèles sélectionnés. Ensuite, nous mesurerons l'influence sur la performance de calcul (latence) et la puissance prédictive (MSE ou perte de Hamming).

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49217{{"Comprendre la complexité du modèle"}} end

Charger les données

Nous chargeons les deux jeux de données - le jeu de données sur le diabète pour la régression et le jeu de données 20newsgroups pour la classification.

Choisir les paramètres

Nous choisissons les paramètres de chacun de nos estimateurs en créant un dictionnaire avec toutes les valeurs nécessaires. Nous définissons le paramètre variable, l'étiquette de complexité, l'ordinateur de complexité, les données et les autres valeurs de configuration pour chaque estimateur.

Influence de la mesure de performance

Nous calculons l'influence des paramètres sur l'estimateur donné. Dans chaque itération, nous configurons l'estimateur avec la nouvelle valeur du paramètre variable et collectons les temps de prédiction, les performances de prédiction et les complexités pour voir comment ces modifications affectent l'estimateur. Nous calculons la complexité à l'aide de l'ordinateur de complexité passé en tant que paramètre.

Tracer les résultats

Nous traçons l'influence de la complexité du modèle sur la précision et la latence. Nous utilisons l'erreur de prédiction sur l'axe des ordonnées et la complexité du modèle sur l'axe des abscisses. Nous traçons à la fois l'erreur de prédiction et la latence de prédiction sur le même graphique.

Sommaire

Dans ce laboratoire, nous avons exploré la manière dont la complexité du modèle influence à la fois la précision de prédiction et les performances de calcul. Nous avons fait varier la complexité du modèle en choisissant les paramètres de modèle appropriés dans chacun de nos modèles sélectionnés. Nous avons ensuite mesuré l'influence sur les performances de calcul (latence) et la puissance prédictive (MSE ou perte de Hamming). Nous avons conclu qu'un modèle plus complexe nécessite plus de temps d'entraînement et ne garantit pas de réduire l'erreur de prédiction.