Machine learning : bagging, gradient boosting, SVM avec Python
Objectifs pédagogiques
- Connaître et savoir mettre en œuvre les méthodes d’agrégation en régression et classification supervisée : bagging (random forest) et gradient boosting
- Connaître et savoir mettre en œuvre la méthode SVM en classification supervisée
- Savoir gérer empiriquement le risque de sur-apprentissage
Programme détaillé
Rappels sur les bases du machine learning 1h
Méthodes d’agrégation – bagging 3h
- Rappels sur les arbres de régression et de décision (CART)
- Bagging
- Random forest
- Importance des variables
- Applications sur cas pratiques
Méthodes d’agrégation – gradient boosting 3h
- Algorithme AdaBoost
- Principe du gradient boosting
- Quelques fonctions de coût classiques
- Applications sur cas pratiques
SVM 3h
- Cas linéairement séparable
- Ajout de variables ressort (slack variables)
- Astuce du noyau
- Applications sur cas pratiques
Introduction aux réseaux de neurones 2h
- Neurone formel
- Perceptron multicouche (MLP)
- Fonctions d’activation
Public visé
Data analysts, data scientists
Prérequis
- Connaissances de base en machine learning (formation Les fondamentaux du Machine learning avec Python).
- Connaissances intermédiaires de Python (formation Python intermédiaire).
Approche pédagogique
Indicateurs de satisfaction
Calculés à partir de 10 avis recueillis depuis 06/12/2023, lors de 4 sessions de cette formation.
Les différentes bibliothèques Python pour le bagging, le gradient boosting et le SVM
En Python, voici quelques-unes des bibliothèques populaires pour réaliser du bagging, du gradient boosting et du SVM :
Bagging
scikit-learn: La bibliothèque scikit-learn propose une classe BaggingClassifier qui implémente l’algorithme de bagging pour la classification et la régression. Elle peut être utilisée avec différents classifieurs de base tels que les arbres de décision, les SVM, etc.
Gradient Boosting
-
XGBoost: XGBoost est une bibliothèque open-source de gradient boosting très performante. Elle fournit des classes pour la classification et la régression, telles que XGBClassifier et XGBRegressor, respectivement. XGBoost est connu pour sa rapidité et son efficacité dans la gestion de grands ensembles de données. -
LightGBM: LightGBM est une autre bibliothèque de gradient boosting légère et rapide. Elle est également utilisée pour la classification et la régression, offrant des performances élevées et une efficacité en termes de mémoire.
SVM (Support Vector Machines)
-
scikit-learn: Scikit-learn propose la classe SVC pour les machines à vecteurs de support (SVM) linéaires et non linéaires. Elle permet de réaliser à la fois la classification et la régression avec les SVM. -
LIBSVM: LIBSVM est une bibliothèque populaire pour les SVM, et il existe une interface Python appelée “svm” qui permet d’utiliser LIBSVM directement dans Python. Elle offre une grande flexibilité pour les SVM linéaires et non linéaires.
À noter : scikit-learn est une bibliothèque de machine learning polyvalente qui couvre une large gamme d’algorithmes, y compris le bagging, le gradient boosting et le SVM. Elle est largement utilisée et fournit une interface cohérente pour travailler avec différents algorithmes de machine learning.