Un guide du débutant sur les 10 meilleurs algorithmes d’apprentissage automatique

Un guide du débutant sur les 10 meilleurs algorithmes d'apprentissage automatique

rosidi_beginner_guide_top_10_machine_learning_algorithms_4 Un guide du débutant sur les 10 meilleurs algorithmes d'apprentissage automatique NEWS
Image par auteur

L’apprentissage automatique est l’un des domaines qui sous-tendent la science des données. Ainsi, si vous souhaitez vous lancer dans la science des données, comprendre l’apprentissage automatique est l’une des premières étapes à suivre.

Mais par où commencer ? Vous commencez par comprendre la différence entre les deux principaux types d’algorithmes d’apprentissage automatique. Ce n’est qu’après cela que nous pourrons parler d’algorithmes individuels qui devraient figurer sur votre liste de priorités pour apprendre en tant que débutant.

La principale distinction entre les algorithmes réside dans la manière dont ils apprennent.

rosidi_beginner_guide_top_10_machine_learning_algorithms_2 Un guide du débutant sur les 10 meilleurs algorithmes d'apprentissage automatique NEWS rosidi_beginner_guide_top_10_machine_learning_algorithms_2 Un guide du débutant sur les 10 meilleurs algorithmes d'apprentissage automatique NEWS
Image par auteur

Algorithmes d’apprentissage supervisé sont formés sur un ensemble de données étiqueté. Cet ensemble de données sert de supervision (d’où son nom) pour l’apprentissage car certaines données qu’il contient sont déjà étiquetées comme réponse correcte. Sur la base de cette entrée, l’algorithme peut apprendre et appliquer cet apprentissage au reste des données.

D’autre part, algorithmes d’apprentissage non supervisés apprendre sur un ensemble de données sans étiquettece qui signifie qu’ils s’engagent dans la recherche de modèles dans les données sans que les humains ne donnent d’instructions.

Vous pouvez lire plus en détail sur algorithmes d’apprentissage automatique et les types d’apprentissage.

Il existe également d’autres types d’apprentissage automatique, mais pas pour les débutants.

Des algorithmes sont utilisés pour résoudre deux problèmes principaux distincts au sein de chaque type d’apprentissage automatique.

Encore une fois, il y a quelques tâches supplémentaires, mais elles ne sont pas destinées aux débutants.

rosidi_beginner_guide_top_10_machine_learning_algorithms_3 Un guide du débutant sur les 10 meilleurs algorithmes d'apprentissage automatique NEWS rosidi_beginner_guide_top_10_machine_learning_algorithms_3 Un guide du débutant sur les 10 meilleurs algorithmes d'apprentissage automatique NEWS
Image par auteur

Tâches d’apprentissage supervisées

Régression est la tâche de prédire un valeur numériqueappelé variable de résultat continue ou variable dépendante. La prédiction est basée sur la ou les variables prédictives ou les variables indépendantes.

Pensez à prévoir les prix du pétrole ou la température de l’air.

Classification est utilisé pour prédire le catégorie (classe) des données d’entrée. Le Variable de résultat Voici catégorique ou discret.

Pensez à prédire si le courrier est du spam ou non ou si le patient contractera ou non une certaine maladie.

Tâches d’apprentissage non supervisées

Regroupement moyens diviser les données en sous-ensembles ou clusters. Le but est de regrouper les données le plus naturellement possible. Cela signifie que les points de données d’un même cluster sont plus similaires les uns aux autres qu’aux points de données d’autres clusters.

Réduction de dimensionnalité fait référence à la réduction du nombre de variables d’entrée dans un ensemble de données. Cela signifie essentiellement réduire l’ensemble de données à très peu de variables tout en capturant son essence.

Voici un aperçu des algorithmes que je vais aborder.

rosidi_beginner_guide_top_10_machine_learning_algorithms_1 Un guide du débutant sur les 10 meilleurs algorithmes d'apprentissage automatique NEWS rosidi_beginner_guide_top_10_machine_learning_algorithms_1 Un guide du débutant sur les 10 meilleurs algorithmes d'apprentissage automatique NEWS
Image par auteur

Algorithmes d’apprentissage supervisé

Lorsque vous choisissez l’algorithme pour votre problème, il est important de savoir pour quelle tâche l’algorithme est utilisé.

En tant que data scientist, vous appliquerez probablement ces algorithmes en Python en utilisant le bibliothèque scikit-learn. Bien qu’il fasse (presque) tout pour vous, il est conseillé que vous connaissiez au moins les principes généraux du fonctionnement interne de chaque algorithme.

Enfin, une fois l’algorithme entraîné, vous devez évaluer ses performances. Pour cela, chaque algorithme dispose de métriques standards.

1. Régression linéaire

Utilisé pour: Régression

Description: La régression linéaire trace une ligne droite appelée ligne de régression entre les variables. Cette ligne passe approximativement au milieu des points de données, minimisant ainsi l’erreur d’estimation. Il montre la valeur prédite de la variable dépendante en fonction de la valeur des variables indépendantes.

Paramètres d’évaluation :

  • Erreur quadratique moyenne (MSE): Représente la moyenne de l’erreur quadratique, l’erreur étant la différence entre les valeurs réelles et prédites. Plus la valeur est faible, meilleures sont les performances de l’algorithme.
  • R-carré: Représente le pourcentage de variance de la variable dépendante qui peut être prédit par la variable indépendante. Pour cette mesure, vous devez vous efforcer de vous rapprocher le plus possible de 1.

2. Régression logistique

Utilisé pour: Classification

Description: Il utilise un fonction logistique pour traduire les valeurs des données en une catégorie binaire, c’est-à-dire 0 ou 1. Cela se fait en utilisant le seuil, généralement fixé à 0,5. Le résultat binaire rend cet algorithme parfait pour prédire les résultats binaires, tels que OUI/NON, VRAI/FAUX ou 0/1.

Paramètres d’évaluation :

  • Précision : le rapport entre les prédictions correctes et totales. Plus on est proche de 1, mieux c’est.
  • Précision : mesure de la précision du modèle dans les prédictions positives ; présenté comme le rapport entre les prédictions positives correctes et le total des résultats positifs attendus. Plus on est proche de 1, mieux c’est.
  • Rappel : il mesure également la précision du modèle dans les prédictions positives. Il est exprimé sous forme de rapport entre les prédictions positives correctes et le total des observations faites dans la classe. En savoir plus sur ces métriques ici.
  • Score F1: La moyenne harmonique du rappel et de la précision du modèle. Plus on est proche de 1, mieux c’est.

3. Arbres de décision

Utilisé pour: Régression et classification

Description: Arbres de décision sont des algorithmes qui utilisent la structure hiérarchique ou arborescente pour prédire une valeur ou une classe. Le nœud racine représente l’ensemble de données, qui se divise ensuite en nœuds de décision, se branche et quitte en fonction des valeurs des variables.

Paramètres d’évaluation :

  • Exactitude, précision, rappel et score F1 -> pour la classification
  • MSE, R-carré -> pour la régression

4. Bayes naïfs

Utilisé pour: Classification

Description: Il s’agit d’une famille d’algorithmes de classification qui utilisent Théorème de Bayesce qui signifie qu’ils supposent l’indépendance entre les fonctionnalités au sein d’une classe.

Paramètres d’évaluation :

  • Précision
  • Précision
  • Rappel
  • score F1

5. K-Voisins les plus proches (KNN)

Utilisé pour: Régression et classification

Description: Il calcule la distance entre les données de test et le nombre k des points de données les plus proches à partir des données d’entraînement. Les données de test appartiennent à une classe comportant un nombre plus élevé de « voisins ». Concernant la régression, la valeur prédite est la moyenne des k points d’entraînement choisis.

Paramètres d’évaluation :

  • Exactitude, précision, rappel et score F1 -> pour la classification
  • MSE, R-carré -> pour la régression

6. Machines à vecteurs de support (SVM)

Utilisé pour: Régression et classification

Description: Cet algorithme dessine un hyperplan pour séparer les différentes classes de données. Il est positionné à la plus grande distance des points les plus proches de chaque classe. Plus la distance entre le point de données et l’hyperplan est élevée, plus il appartient à sa classe. Pour la régression, le principe est similaire : l’hyperplan maximise la distance entre les valeurs prédites et réelles.

Paramètres d’évaluation :

  • Exactitude, précision, rappel et score F1 -> pour la classification
  • MSE, R-carré -> pour la régression

7. Forêt aléatoire

Utilisé pour: Régression et classification

Description: L’algorithme de forêt aléatoire utilise un ensemble d’arbres de décision, qui constituent ensuite une forêt de décision. La prédiction de l’algorithme est basée sur la prédiction de nombreux arbres de décision. Les données seront attribuées à une classe qui recevra le plus de votes. Pour la régression, la valeur prédite est une moyenne de toutes les valeurs prédites des arbres.

Paramètres d’évaluation :

  • Exactitude, précision, rappel et score F1 -> pour la classification
  • MSE, R-carré -> pour la régression

8. Augmentation du dégradé

Utilisé pour: Régression et classification

Description: Ces algorithmes utiliser un ensemble de modèles faibles, chaque modèle suivant reconnaissant et corrigeant les erreurs du modèle précédent. Ce processus est répété jusqu’à ce que l’erreur (fonction de perte) soit minimisée.

Paramètres d’évaluation :

  • Exactitude, précision, rappel et score F1 -> pour la classification
  • MSE, R-carré -> pour la régression

Algorithmes d’apprentissage non supervisés

9. Clustering K-Means

Utilisé pour: Regroupement

Description: L’algorithme divise l’ensemble de données en groupes de nombres k, chacun représenté par son centroïde ou centre géométrique. Grâce au processus itératif de division des données en un nombre k de clusters, l’objectif est de minimiser la distance entre les points de données et le centre de gravité de leur cluster. D’un autre côté, il essaie également de maximiser la distance entre ces points de données et le centroïde des autres clusters. En termes simples, les données appartenant au même cluster doivent être aussi similaires que possible et aussi différentes que les données des autres clusters.

Paramètres d’évaluation :

  • Inertie : somme de la distance au carré de la distance de chaque point de données par rapport au centre de gravité du cluster le plus proche. Plus la valeur d’inertie est faible, plus le cluster est compact.
  • Score Silhouette : il mesure la cohésion (la similarité des données au sein de son propre cluster) et la séparation (la différence des données par rapport aux autres clusters) des clusters. La valeur de ce score varie de -1 à +1. Plus la valeur est élevée, plus les données correspondent bien à leur cluster et moins elles correspondent aux autres clusters.

10. Analyse des composants principaux (PCA)

Utilisé pour: Réduction de dimensionnalité

Description: L’algorithme réduit le nombre de variables utilisées en construisant de nouvelles variables (composantes principales) tout en essayant de maximiser la variance capturée des données. En d’autres termes, cela limite les données à leurs composants les plus courants sans en perdre l’essence.

Paramètres d’évaluation :

  • Variance expliquée : le pourcentage de la variance couvert par chaque composante principale.
  • Variance totale expliquée : pourcentage de la variance couverte par toutes les composantes principales.

L’apprentissage automatique est un élément essentiel de la science des données. Avec ces dix algorithmes, vous couvrirez les tâches les plus courantes en apprentissage automatique. Bien entendu, cet aperçu ne vous donne qu’une idée générale du fonctionnement de chaque algorithme. Donc, ce n’est qu’un début.

Maintenant, vous devez apprendre à implémenter ces algorithmes en Python et à résoudre de vrais problèmes. En cela, je recommande d’utiliser scikit-learn. Non seulement parce qu’il s’agit d’une bibliothèque ML relativement facile à utiliser, mais aussi en raison de son matériaux étendus sur les algorithmes ML.

Nate Rosidi est un data scientist et en stratégie produit. Il est également professeur adjoint enseignant l’analyse et est le fondateur de StrataScratch, une plateforme qui aide les data scientists à préparer leurs entretiens avec de vraies questions d’entretien posées par les grandes entreprises. Nate écrit sur les dernières tendances du marché des carrières, donne des conseils d’entretien, partage des projets de science des données et couvre tout ce qui concerne SQL.

Source