Tableau récapitulatif des algorithmes¶
| Algorithme | Type | Principe | Avantages | Inconvénients | Complexité | Hyperparamètres clés |
|---|---|---|---|---|---|---|
| KNN | Non paramétrique | Classification/régression basée sur les k plus proches voisins d’un point | - Simple à comprendre et à implémenter - Pas de phase d’entraînement - Adapté aux frontières de décision complexes | - Coûteux en prédiction - Sensible à l’échelle des données - Performances réduites en haute dimension | O(nd) pour chaque prédiction où n = nombre d’exemples, d = dimensions | - Nombre de voisins k - Métrique de distance |
| Distance Weighted KNN | Non paramétrique | Variante de KNN où les voisins les plus proches ont plus d’influence sur la prédiction | - Meilleure prise en compte de la proximité - Plus robuste que KNN standard - Réduit l’impact des valeurs aberrantes | - Plus complexe à mettre en œuvre - Toujours coûteux en prédiction - Choix de la fonction de poids | O(nd) pour chaque prédiction | - Nombre de voisins k - Fonction de poids - Métrique de distance |
| CNN (Condensed Nearest Neighbor) | Non paramétrique | Sélectionne un sous-ensemble représentatif des données d’entraînement | - Réduit le stockage et le temps de prédiction - Élimine les exemples redondants - Garde les exemples à la frontière de décision | - Sensible à l’ordre des données - Peut avoir du mal avec des données bruitées - Performance variable | O(n²d) pour la condensation | - Métrique de distance - Seuil de sélection |
| LANN (Local Average of Nearest Neighbors) | Non paramétrique | Utilise la moyenne locale des k plus proches voisins pour faire des prédictions | - Robuste au bruit - Meilleure généralisation que KNN standard - Bonne performance sur les données continues | - Moins efficace sur les données catégorielles - Toujours coûteux en calcul - Perte d’interprétabilité | O(nd) pour chaque prédiction | - Nombre de voisins k - Schéma de pondération |
| Régression logistique | Paramétrique | Modèle linéaire pour la classification utilisant la fonction logistique pour estimer les probabilités | - Simple et interprétable - Efficace pour les grandes données - Donne des probabilités - Faible variance | - Limité aux frontières linéaires - Suppose l’indépendance des variables - Sensible aux valeurs aberrantes | O(nd) pour l’entraînement | - Régularisation (C ou λ) - Seuil de décision |
| SVM (Support Vector Machine) | Paramétrique | Trouve l’hyperplan qui maximise la marge entre les classes | - Efficace en haute dimension - Robuste avec le kernel trick - Bonne généralisation - Peu sensible au surapprentissage | - Difficulté à interpréter - Choix du kernel crucial - Lent sur de grandes données - Difficile à calibrer pour les probabilités | O(n²) à O(n³) selon l’implémentation | - Paramètre C - Type de kernel - Paramètres du kernel |
| Arbres de décision | Non linéaire | Crée un modèle de décision basé sur des règles apprises à partir des données | - Facile à comprendre et visualiser - Gère les données mixtes - Peu sensible à l’échelle des variables - Capture les interactions non linéaires | - Tendance au surapprentissage - Instable (haute variance) - Biais pour certaines classes - Difficulté avec les relations linéaires | O(n log n) pour l’entraînement | - Profondeur maximale - Critère de division - Nombre min. d’échantillons par feuille |
| Random Forest | Non linéaire (ensemble) | Combine plusieurs arbres de décision entraînés sur des sous-ensembles aléatoires | - Réduit le surapprentissage - Robuste au bruit et aux valeurs aberrantes - Fournit l’importance des variables - Parallélisable | - Moins interprétable qu’un seul arbre - Plus lent à entraîner - Biaisé sur des données déséquilibrées - Utilisation intensive de mémoire | O(K·n log n) où K = nombre d’arbres | - Nombre d’arbres - Nombre de caractéristiques par division - Profondeur max des arbres |
| AdaBoost | Non linéaire (ensemble) | Ensemble séquentiel qui donne plus de poids aux exemples mal classifiés | - Bonne généralisation - Simple à implémenter - Sélection automatique des caractéristiques - Peu de paramètres à régler | - Sensible aux valeurs aberrantes - Sensible au bruit - Peut surapprendre avec trop d’itérations - Moins efficace que d’autres ensembles sur certains problèmes | O(K·n log n) où K = nombre d’itérations | - Nombre d’estimateurs - Taux d’apprentissage - Type de classificateur faible |
Pour des problèmes complexes avec suffisamment de données, les méthodes d’ensemble comme le bagging surpassent généralement les modèles individuels comme la régression logistique ou même les SVM. Cependant, lorsque l’interprétabilité est cruciale ou les données limitées, la régression logistique peut être préférable. Les SVM offrent un bon compromis entre complexité et performance, particulièrement adaptés aux cas où la frontière de décision est non linéaire mais bien définie.
Les performances observés sont cohérentes avec les publications sur le sujet (Grinsztajn et al. (2022)).
- Grinsztajn, L., Oyallon, E., & Varoquaux, G. (2022). Why do tree-based models still outperform deep learning on tabular data? arXiv. 10.48550/ARXIV.2207.08815