Partager via


Sélectionner des algorithmes Azure Machine Learning

Important

Cet article fournit des informations sur l’utilisation du Kit de développement logiciel (SDK) Azure Machine Learning v1. Sdk v1 est déconseillé depuis le 31 mars 2025. La prise en charge prendra fin le 30 juin 2026. Vous pouvez installer et utiliser le Kit de développement logiciel (SDK) v1 jusqu’à cette date. Vos flux de travail existants utilisant le Kit de développement logiciel (SDK) v1 continueront à fonctionner après la date de fin de support. Toutefois, elles peuvent être exposées à des risques de sécurité ou à des modifications disruptives en cas de changements architecturaux du produit.

Nous vous recommandons de passer au SDK v2 avant le 30 juin 2026. Pour plus d’informations sur le SDK v2, consultez Qu’est-ce qu’Azure Machine Learning CLI et le SDK Python v2 ? et la référence du SDK v2.

Si vous vous demandez quel algorithme de Machine Learning utiliser, la réponse dépend principalement de deux aspects de votre scénario de science des données :

  • Que voulez-vous faire avec vos données ? Plus précisément, quelle est la question à laquelle vous souhaitez répondre à partir de vos données passées ?

  • Quelles sont les exigences propres à votre scénario de science des données ? Quelles sont les fonctionnalités, la justesse, la durée d’entraînement, la linéarité et les paramètres pris en charge par votre solution ?

Diagramme montrant les considérations relatives au choix des algorithmes de Machine Learning.

Remarque

Le concepteur Azure Machine Learning prend en charge deux types de composants : les composants prédéfinis classiques (v1) et les composants personnalisés (v2). Ces deux types de composants ne sont PAS compatibles.

Les composants prédéfinis classiques concernent principalement le traitement des données et les tâches de Machine Learning traditionnelles telles que la régression et la classification. Ce type de composant continue d’être pris en charge, mais aucun nouveau composant n’est ajouté.

Les composants personnalisés vous permettent d’encapsuler votre propre code en tant que composant. Ils prennent en charge le partage des composants dans des espaces de travail et la création en toute transparence dans les interfaces Studio, CLI v2 et du Kit de développement logiciel (SDK) v2.

Pour les nouveaux projets, nous vous recommandons vivement d’utiliser des composants personnalisés, compatibles avec AzureML V2 et qui recevront de nouvelles mises à jour.

Cet article s’applique aux composants classiques et prédéfinis. Il ne concerne pas l’interface CLI v2 et le Kit de développement logiciel (SDK) v2.

Aide-mémoire d’algorithme Azure Machine Learning

L’Aide-mémoire sur les algorithmes Azure Machine Learning vous permet de répondre à la première question : Que voulez-vous faire avec vos données ? Utilisez l’aide-mémoire pour rechercher la tâche que vous souhaitez effectuer, puis recherchez un algorithme de concepteur Azure Machine Learning pour la solution d’analyse prédictive.

Remarque

Vous pouvez télécharger l’aide-mémoire de l’algorithme de Machine Learning.

Le concepteur fournit un portefeuille complet d’algorithmes, notamment :

Chaque algorithme est conçu pour traiter un type particulier de problème d'apprentissage automatique. Pour obtenir une liste complète, ainsi que la documentation sur le fonctionnement de chaque algorithme et la façon de paramétrer les paramètres pour optimiser l’algorithme, consultez la référence de l’algorithme et du composant.

En plus de ces conseils, gardez à l’esprit d’autres exigences lorsque vous choisissez un algorithme de Machine Learning. Voici d’autres facteurs à prendre en compte, tels que la précision, le temps d’entraînement, la linéarité, le nombre de paramètres et le nombre de fonctionnalités.

Comparaison des algorithmes d’apprentissage automatique

Certains algorithmes effectuent des hypothèses particulières sur la structure des données ou les résultats souhaités. Si vous pouvez en trouver un qui correspond à vos besoins, il peut donner des résultats plus utiles, des prédictions plus précises ou des temps de formation plus rapides.

Le tableau suivant résume certaines des caractéristiques les plus importantes des algorithmes des familles de classification, régression et clustering :

Algorithme Précision Durée d’apprentissage Linéarité Paramètres Remarques
Famille de classification
Régression logistique à deux classes Bonne Rapide Oui 4
Forêt d’arbres décisionnels à deux classes Excellent Modéré Non 5 Affiche des temps de scoring plus lents. Nous suggérons de ne pas utiliser la classification One-vs-All Multiclass, en raison de temps de calcul plus lents causés par le verrouillage des threads lors de l’agrégation des prédictions des arbres.
Arbre de décision optimisé à deux classes Excellent Modéré Non 6 Encombrement de mémoire important
Réseau neuronal à deux classes Bonne Modéré Non 8
Perceptron moyenné à deux classes Bonne Modéré Oui 4
Machine à vecteurs de support à deux classes Bonne Rapide Oui 5 Idéal pour les ensembles de fonctionnalités de grande taille
Régression logistique multiclasse Bonne Rapide Oui 4
Forêt d’arbres de décision multiclasse Excellent Modéré Non 5 Affiche des temps de scoring plus lents.
Arbre de décision multiclasse optimisé Excellent Modéré Non 6 A tendance à améliorer la précision avec un léger risque de diminution de la couverture
Réseau neuronal multiclasse Bonne Modéré Non 8
Un modèle multiclasse one-vs-all - - - - Consultez les propriétés de la méthode à deux classes sélectionnée
Famille de régression
Régression linéaire Bonne Rapide Oui 4
Régression de forêt d’arbres de décision Excellent Modéré Non 5
Régression d’arbre de décision boosté Excellent Modéré Non 6 Encombrement de mémoire important
Régression de réseau neuronal Bonne Modéré Non 8
Famille de clustering
Clustering k-moyennes Excellent Modéré Oui 8 Un algorithme de clustering

Exigences d’un scénario de science des données

Une fois que vous savez ce que vous souhaitez faire avec vos données, vous devez déterminer d’autres exigences pour votre scénario de science des données.

Faites des choix, voire des compromis, pour les exigences suivantes :

  • Précision
  • Durée d’apprentissage
  • Linéarité
  • Nombre de paramètres
  • Nombre de fonctionnalités

Précision

Dans le domaine de l'apprentissage automatique, la précision mesure l'efficacité d'un modèle sous forme de proportion de résultats réels sur le nombre total de cas. Dans le concepteur, le composant Évaluer le modèle calcule un ensemble de métriques d’évaluation standard. Vous pouvez utiliser ce composant pour mesurer la précision d’un modèle formé.

Il n'est pas toujours nécessaire d'obtenir la réponse la plus exacte possible. Parfois, en fonction de votre utilisation, une approximation suffit. Si tel est le cas, vous pourrez peut-être réduire considérablement le temps de traitement en utilisant des méthodes plus approximatives. Les méthodes approximatives tendent aussi naturellement à éviter le surajustement.

Il existe trois façons d’utiliser le composant Évaluer le modèle :

  • Générez des scores sur vos données d’apprentissage pour évaluer le modèle.
  • Générer des scores sur le modèle, mais comparer ces scores à ceux d’un jeu de tests réservé.
  • Comparer les scores de deux modèles différents mais liés, en utilisant le même jeu de données.

Pour obtenir la liste complète des métriques et approches disponibles afin d’évaluer la précision des modèles Machine Learning, consultez Composant Évaluer le modèle.

Durée d’apprentissage

Dans le cadre d'un apprentissage supervisé, la formation consiste à utiliser des données historiques pour créer un modèle Machine Learning qui réduit les risques d'erreurs. Le nombre de minutes ou d'heures nécessaires pour l'apprentissage d'un modèle varie beaucoup selon les algorithmes. La durée d'apprentissage est souvent étroitement liée à la précision : l'une accompagne généralement l'autre.

En outre, certains algorithmes sont plus sensibles au nombre de points de données que d'autres. Vous pouvez être amené à choisir un algorithme spécifique parce que le temps dont vous disposez est limité, en particulier lorsque le jeu de données est volumineux.

Dans le concepteur, la création et l’utilisation d’un modèle Machine Learning s’effectuent généralement en trois étapes :

  1. Configurez un modèle en choisissant un type d'algorithme particulier et en définissant ses paramètres ou hyperparamètres.

  2. Fournissez un jeu de données doté d’une étiquette et dont les données sont compatibles avec l’algorithme. Connectez les données et le modèle au composant Entraîner le modèle.

  3. Au terme de l’apprentissage, utilisez le modèle formé avec l’un des composants de scoring pour effectuer des prédictions sur de nouvelles données.

Linéarité

Dans les domaines des statistiques et du Machine Learning, le terme « linéarité » signifie qu’il existe une relation linéaire entre une variable et une constante dans votre jeu de données. Par exemple, les algorithmes de classification linéaire supposent qu’une ligne droite ou son analogique à dimension supérieure peut séparer les classes.

Un grand nombre d'algorithmes d'apprentissage automatique utilisent la linéarité. Dans le concepteur Azure Machine Learning, ces algorithmes sont les suivants :

Les algorithmes de régression linéaire supposent que les tendances des données suivent une ligne droite. Ce postulat convient à certains problèmes, mais pour d'autres, il réduit la précision. Malgré leurs inconvénients, les algorithmes linéaires constituent une première stratégie très prisée. Ils ont tendance à être des algorithmes simples et à apprentissage rapide.

Graphique montrant une limite de classe non linéaire.

Limite de classe non linéaire : l’utilisation d’un algorithme de classification linéaire entraînerait une justesse faible.

Graphique montrant des données avec une tendance non linéaire.

Données avec une tendance non linéaire : l’utilisation d’une méthode de régression linéaire entraînerait plus d’erreurs.

Nombre de paramètres

Les paramètres sont les boutons qu’un scientifique des données règle lorsqu’il configure un algorithme. Ce sont des nombres qui affectent le comportement de l’algorithme. Par exemple, la tolérance d’erreur ou le nombre d’itérations et les options entre les variantes de la façon dont l’algorithme se comporte.

Le temps d’apprentissage et la précision de l’algorithme peuvent être sensibles à l’obtention des paramètres appropriés. En règle générale, les algorithmes avec des paramètres à grands nombres nécessitent plus d’essais pour trouver la bonne combinaison.

Il existe également le composant Optimiser les hyperparamètres du modèle dans le concepteur. L’objectif de ce composant est de déterminer les hyperparamètres optimaux pour un modèle Machine Learning. Le composant génère et teste plusieurs modèles avec différentes combinaisons de paramètres. Il compare les métriques à tous les modèles pour obtenir les combinaisons de paramètres.

Bien que cette approche soit un excellent moyen de vous assurer que vous avez réparti l’espace des paramètres, le temps nécessaire pour entraîner un modèle augmente de manière exponentielle avec le nombre de paramètres. Avoir de nombreux paramètres indique généralement qu'un algorithme a une plus grande flexibilité. Cette méthode donne souvent une excellente précision, une fois que vous avez trouvé la bonne combinaison de paramètres.

Nombre de fonctionnalités

Dans le domaine du Machine Learning, une caractéristique est une variable quantifiable du phénomène que vous essayez d’analyser. Pour certains types de données, le nombre de fonctionnalités peut être très important par rapport au nombre de points de données. Cette situation est souvent le cas avec des données génétiques ou textuelles.

La présence d'un grand nombre de fonctionnalités peut ralentir certains algorithmes d'apprentissage et se traduire par une durée d'apprentissage ingérable. Les machines à vecteurs de support conviennent bien aux scénarios comportant un grand nombre de caractéristiques. Pour cette raison, ils sont utilisés dans de nombreuses applications de la récupération d’informations vers le texte et la classification d’images. Les machines à vecteurs de support peuvent être utilisées pour les tâches de classification et de régression.

Le terme « sélection de fonctionnalités » fait référence au processus d'application de tests statistiques à des entrées, en fonction d'une sortie donnée. L’objectif est de déterminer quelles colonnes prédisent le mieux la sortie. Le composant Sélection de caractéristiques par filtrage permet de choisir parmi plusieurs algorithmes de sélection de caractéristiques. Le composant inclut des méthodes de corrélation telles que les valeurs de corrélation de Pearson et de test du khi-deux.

Vous pouvez également utiliser le composant Importance de la fonctionnalité de permutation pour calculer un ensemble de scores d’importance de fonctionnalité pour votre jeu de données. Vous pouvez ensuite utiliser ces scores pour déterminer les meilleures caractéristiques à utiliser dans un modèle.