Appliquer la régression et la classification
2. Développer un modèle de SVM
▪ Quand utiliser SVM
Prof. Khalid BENABBES 1
• ENS de Meknès
Appliquer la régression et la classification
2. Développer un modèle de SVM
▪ Introduction au SVM
Le Support Vector Machine (SVM) est un algorithme d’apprentissage supervisé introduit dans les
années 1990 par Vladimir Vapnik.
Il est utilisé pour :
•La classification (binaire ou multiclasse)
•La régression (SVR)
Idée clé :
Trouver l’hyperplan optimal qui sépare les classes avec la plus grande marge possible.
Prof. Khalid BENABBES 2
• ENS de Meknès
Appliquer la régression et la classification
2. Développer un modèle de SVM
▪ Quand éviter SVM
Prof. Khalid BENABBES 3
• ENS de Meknès
Appliquer la régression et la classification
2. Développer un modèle de SVM
▪ Comprendre SVM
Prof. Khalid BENABBES 4
• ENS de Meknès
Appliquer la régression et la classification
2. Développer un modèle de SVM
▪ Comprendre SVM
Prof. Khalid BENABBES 5
• ENS de Meknès
Appliquer la régression et la classification
2. Développer un modèle de SVM
▪ Comprendre SVM
Marge: La marge correspond à la distance entre l’hyperplan et les points les plus proches de chaque classe. Ces
points particuliers sont appelés vecteurs de support.
Prof. Khalid BENABBES 6
• ENS de Meknès
Appliquer la régression et la classification
2. Développer un modèle de SVM
▪ L’astuce de kernel
Prof. Khalid BENABBES 7
• ENS de Meknès
Appliquer la régression et la classification
2. Développer un modèle de SVM
•SVM non linéaire : les données nécessitent une transformation via une fonction noyau (kernel) pour devenir séparables.
•SVM linéaire : les données sont séparables par une droite / un plan.
▪ L’astuce de kernel
Prof. Khalid BENABBES 8
• ENS de Meknès
Appliquer la régression et la classification
2. Développer un modèle de SVM
▪ Paramètres importants d’un modèle SVM (scikit-learn)
Prof. Khalid BENABBES 9
• ENS de Meknès
Appliquer la régression et la classification
2. Développer un modèle de SVM
▪ Paramètres importants d’un modèle SVM (scikit-learn)
Commun (classification SVC, régression SVR)
-kernel : fonction noyau ('linear', 'rbf' (par défaut), 'poly', 'sigmoid').
- C : régularisation (grand = marge plus étroite, peu d’erreurs ; petit = marge plus large, plus tolérant).
- gamma : (pour rbf, poly, sigmoid) influence locale des points (grand = frontière complexe ; petit = frontière lisse).
- degree : degré du polynôme (si kernel='poly').
- coef0 : constante d’offset (pour poly et sigmoid).
- shrinking : heuristique d’optimisation (True par défaut).
- tol : tolérance d’arrêt (précision de l’optimisation).
- max_iter : itérations max (-1 = illimité).
- cache_size : taille du cache kernel (MB).
Spécifique classification (SVC)
- class_weight : poids des classes ('balanced' ou dict) pour les jeux déséquilibrés.
- probability : calcule des probabilités (logistic calibration) — plus lent.
- decision_function_shape : 'ovr' (par défaut) ou 'ovo' pour le multi-classe.
- break_ties : améliore les prédictions probables quand decision_function_shape='ovr'.
Spécifique régression (SVR)
- epsilon : largeur du tube ε-insensible (erreur “gratuite”).
-(Le reste: mêmes kernel, C, gamma, degree, coef0, etc.)
Prof. Khalid BENABBES 10
• ENS de Meknès
Appliquer la régression et la classification
2. Développer un modèle de SVM
▪ Bonnes pratiques avant entraînement
▪ Standardiser les features (SVM y est sensible) → StandardScaler.
▪ Séparer train/test (ou CV stratifiée).
▪ Recherche d’hyperparamètres (Grid/Random/Bayes).
▪ Évaluer avec métriques adaptées (accuracy/F1 pour clas., RMSE/MAE pour régr.).
▪ Sauvegarder le pipeline complet (scaler + SVM) avec joblib.
TP
Prof. Khalid BENABBES 11
• ENS de Meknès
Appliquer la régression et la classification
2. k-plus proches voisins (KNN): Algorithme de classification
Prof. Khalid BENABBES 12
• ENS de Meknès
Appliquer la régression et la classification
2. k-plus proches voisins (KNN): Algorithme de classification
▪ Déterminer K
Prof. Khalid BENABBES 13
• ENS de Meknès
Appliquer la régression et la classification
2. k-plus proches voisins (KNN): Algorithme de classification
Prof. Khalid BENABBES 14
• ENS de Meknès
Appliquer la régression et la classification
2. k-plus proches voisins (KNN)
▪ Algorithme de régression et classification
▪ Choisir la mesure de distance
Prof. Khalid BENABBES 15
• ENS de Meknès
Appliquer la régression et la classification
2. k-plus proches voisins (KNN): Algorithme de classification
Avantages :
•L’algorithme K-NN est simple et facile à mettre en oeuvre.
•Il n’est pas nécessaire de créer un modèle, de régler plusieurs paramètres ou de formuler des
hypothèses supplémentaires.
•L’algorithme est polyvalent. Il peut être utilisé pour la classification ou la régression.
Inconvénients :
•L’algorithme devient beaucoup plus lent à mesure que le nombre d’observation et de
variables indépendantes augmente.
Étant l’un des algorithmes les plus simples de Machine Learning, il est hautement implémenté
pour développer des systèmes basés sur l’apprentissage, intuitifs et intelligents qui pourraient
effectuer et prendre de petites décisions tout seuls
TP
Prof. Khalid BENABBES 16
• ENS de Meknès