Liste de Modèles de Machine Learning pour la Classification
1. Modèles Linéaires (Rapides et excellents comme baseline)
LogisticRegression (Régression Logistique)
Description : Malgré son nom, c’est un modèle de classification. Il est robuste, rapide
et offre une bonne base de comparaison. Il utilise la fonction logistique pour modéliser
la probabilité d’appartenance à une classe.
Avantages : Interprétable, gère bien les données linéairement séparables, faible coût
computationnel.
Inconvénients : Suppose une linéarité, sensible aux outliers.
Hyperparamètres clés : C (régularisation), solver (optimiseur), penalty (L1/L2).
Quand l’utiliser : Toujours. C’est le premier modèle à essayer. Il est aussi excellent
comme méta-modèle dans un StackingClassifier.
SGDClassifier (Classifieur par Descente de Gradient Stochastique)
Description : Un classifieur très efficace pour les très grands jeux de données. En
changeant sa fonction de coût (loss), il peut imiter une Régression Logistique (loss=’log_loss’)
ou un SVM linéaire (loss=’hinge’). Il met à jour les poids de manière stochastique.
Avantages : Scalable sur de grands datasets, flexible avec différentes pertes.
Inconvénients : Sensible au choix du taux d’apprentissage, peut converger lentement.
Hyperparamètres clés : loss, alpha (régularisation), learning_rate.
Quand l’utiliser : Si votre dataset devient trop volumineux pour la LogisticRegression.
2. Modèles Basés sur les Arbres (Souvent les plus performants)
DecisionTreeClassifier (Arbre de Décision)
Description : Modèle qui construit un arbre en divisant les données selon des seuils
sur les features pour minimiser l’impureté (Gini ou entropie).
Avantages : Très interprétable, gère les interactions non-linéaires, pas besoin de sca-
ling.
Inconvénients : Prone au surapprentissage, instable aux petites variations de don-
nées.
Hyperparamètres clés : max_depth, min_samples_split, criterion.
Quand l’utiliser : Comme baseline pour les modèles d’arbres, ou pour l’interprétabilité.
RandomForestClassifier (Forêt Aléatoire)
Description : Construit de nombreux arbres de décision sur des sous-ensembles de
données et fait la moyenne de leurs prédictions. Réduit fortement le surapprentissage
par rapport à un arbre unique. Utilise le bagging.
Avantages : Robuste, gère bien les missing values, importance des features.
Inconvénients : Moins interprétable que un seul arbre, plus lent à entraîner.
Hyperparamètres clés : n_estimators, max_depth, max_features.
Quand l’utiliser : Modèle très robuste, difficile à ’casser’, qui gère bien les interactions
1
complexes.
ExtraTreesClassifier (Extremely Randomized Trees)
Description : Similaire au RandomForest, mais il introduit encore plus d’aléa dans la
création des arbres. Au lieu de chercher le meilleur seuil pour diviser un nud, il en
choisit un au hasard.
Avantages : Plus rapide que RandomForest, bonne généralisation.
Inconvénients : Peut être moins précis sur certains datasets.
Hyperparamètres clés : n_estimators, max_depth.
Quand l’utiliser : Souvent un peu plus rapide à entraîner qu’un RandomForest et peut
parfois offrir une meilleure généralisation.
LightGBM (Light Gradient Boosting Machine)
Description : Le principal concurrent de XGBoost, développé par Microsoft. Il utilise
une technique de croissance des arbres ’par la feuille’ (leaf-wise), ce qui le rend sou-
vent beaucoup plus rapide. Supporte les GPU.
Avantages : Très rapide, haute performance, gère les grandes données.
Inconvénients : Peut surapprendre si non tuné, moins mature que XGBoost.
Hyperparamètres clés : num_leaves, learning_rate, n_estimators.
Quand l’utiliser : Fortement recommandé. C’est souvent le meilleur compromis entre
vitesse et performance. À tester absolument.
XGBoost (eXtreme Gradient Boosting)
Description : Une implémentation optimisée du Gradient Boosting, connue pour ses
performances exceptionnelles et sa vitesse. Un grand classique des compétitions.
Gère les missing values nativement.
Avantages : Haute précision, scalable, importance des features.
Inconvénients : Plus lent que LightGBM sur de grands datasets.
Hyperparamètres clés : eta (learning_rate), max_depth, n_estimators.
Quand l’utiliser : Lorsque la performance maximale est recherchée, même si cela
prend plus de temps que LightGBM.
CatBoost (Categorical Boosting)
Description : Un autre algorithme de Gradient Boosting, développé par Yandex. Sa
principale force est sa gestion native et très performante des variables catégorielles.
Utilise l’ordered boosting.
Avantages : Excellent pour les cat features, robuste au surapprentissage.
Inconvénients : Plus lent sur de très grands datasets sans cat.
Hyperparamètres clés : iterations, learning_rate, depth.
Quand l’utiliser : Si votre jeu de données contient beaucoup de variables catégorielles.
Vous n’avez même pas besoin de les encoder.
AdaBoostClassifier (Adaptive Boosting)
Description : Algorithme de boosting qui ajuste les poids des instances mal classées
pour focaliser les apprenants suivants. Souvent avec des arbres faibles.
2
Avantages : Simple, améliore les weak learners.
Inconvénients : Sensible aux outliers, peut surapprendre.
Hyperparamètres clés : n_estimators, learning_rate.
Quand l’utiliser : Pour booster des modèles simples, comme alternative au gradient
boosting.
GradientBoostingClassifier (Gradient Boosting)
Description : Version standard de scikit-learn du Gradient Boosting, qui construit des
arbres additifs en minimisant la perte via gradients.
Avantages : Bonne performance, interprétable via feature importance.
Inconvénients : Plus lent que les versions optimisées comme XGBoost.
Hyperparamètres clés : n_estimators, learning_rate, max_depth.
Quand l’utiliser : Quand vous voulez une implémentation simple sans dépendances
externes.
3. Autres Familles de Modèles Pertinentes
KNeighborsClassifier (KNN)
Description : Classe un point en regardant la classe majoritaire de ses ’k’ plus proches
voisins. Approche basée sur la distance (euclidienne par défaut).
Avantages : Simple, non-paramétrique, bon pour les clusters.
Inconvénients : Lent en prédiction sur grands datasets, sensible à la curse of dimen-
sionality.
Hyperparamètres clés : n_neighbors, weights, metric.
Quand l’utiliser : Excellent pour apporter de la diversité dans un ensemble. Nécessite
une mise à l’échelle des données. Peut être lent en prédiction.
SVC (Support Vector Classifier)
Description : Modèle très puissant qui peut capturer des relations non-linéaires com-
plexes grâce à l’astuce du noyau (kernel trick). Maximise la marge entre classes.
Avantages : Efficace en haute dimension, kernels flexibles.
Inconvénients : Lent sur grands datasets, sensible au choix du kernel.
Hyperparamètres clés : C, kernel (linear, rbf), gamma.
Quand l’utiliser : Quand vous cherchez un modèle non-linéaire puissant et différent
des arbres. Peut être lent sur de grands datasets.
GaussianNB (Naive Bayes Gaussien)
Description : Suppose que les features suivent une distribution normale (gaussienne).
Il est extrêmement rapide. Basé sur le théorème de Bayes avec indépendance naïve.
Avantages : Très rapide, bon pour les données continues.
Inconvénients : Hypothèse d’indépendance souvent violée.
Hyperparamètres clés : priors (optionnel).
Quand l’utiliser : Comme une autre baseline très rapide. Fonctionne étonnamment
bien sur certains problèmes, malgré son hypothèse ’naïve’.
3
MLPClassifier (Multi-Layer Perceptron)
Description : Réseau de neurones feedforward avec couches cachées. Peut modéliser
des relations complexes non-linéaires.
Avantages : Puissant pour données structurées, scalable avec GPU.
Inconvénients : Nécessite beaucoup de données, tuning intensif, black-box.
Hyperparamètres clés : hidden_layer_sizes, activation, solver.
Quand l’utiliser : Quand les modèles traditionnels ne suffisent pas, et que vous avez
assez de données pour un réseau neuronal simple.
4. Tableau Récapitulatif et Recommandations
headerbg Famille
Modèle Recommandé Points Clés
Baselines LogisticRegression, Rapides, simples, essentiels pour avoir un
GaussianNB référence.
Arbres LightGBM Priorité nř1 à tester. Souvent le meilleur ra
(Performances) vitesse/performance.
CatBoost À tester si vous avez beaucoup de variabl
catégorielles brutes.
XGBoost Pour la performance maximale, classique
compétitions.
ExtraTreesClassifier Alternative plus rapide et plus ’aléatoire’ a
RandomForest.
DecisionTreeClassifier Pour l’interprétabilité de base dans les arb
Boosting AdaBoostClassifier, Pour booster des weak learners ou une
GradientBoostingClassifier implémentation standard.
Diversité (pour SVC, Modèles non-linéaires de nature différente
Stacking) KNeighborsClassifier, arbres, incluant des réseaux neuronaux.
MLPClassifier
Méta-Modèles VotingClassifier, Pour combiner les forces de plusieurs mod
(Ensemble) StackingClassifier
Page 4