https://github.com/camara94/bagging_boosting_stacking
Python Machine Learning en français vous enseigne les techniques d'Ensemble Learning : Bagging Boosting et Stacking, qui permettent de développer les modèles de machine learning les plus puissants au monde, comme l'algorithme de Random Forest.
https://github.com/camara94/bagging_boosting_stacking
Last synced: 6 months ago
JSON representation
Python Machine Learning en français vous enseigne les techniques d'Ensemble Learning : Bagging Boosting et Stacking, qui permettent de développer les modèles de machine learning les plus puissants au monde, comme l'algorithme de Random Forest.
- Host: GitHub
- URL: https://github.com/camara94/bagging_boosting_stacking
- Owner: camara94
- License: mit
- Created: 2021-12-31T03:19:08.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-12-31T10:34:02.000Z (almost 4 years ago)
- Last Synced: 2025-04-09T15:12:10.457Z (6 months ago)
- Language: Jupyter Notebook
- Size: 6.02 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ensemble Learning: Bagging Boosting Stacking
Python Machine Learning en français vous enseigne les techniques d'Ensemble Learning : Bagging Boosting et Stacking, qui permettent de développer les modèles de machine learning les plus puissants au monde, comme l'algorithme de Random Forest.
## Ensemble Learning
En statistique et en apprentissage automatique, l'apprentissage ensembliste utilise plusieurs algorithmes d'apprentissage pour obtenir de meilleures prédictions.Par exemple
l'ensemble de méthodes **bagging**, **boosting** et les **forêts aléatoires** est un exemple d'apprentissage ensembliste.## Bagging
Le **bootstrap aggregating**, également appelé **bagging** (de bootstrap aggregating), est un meta-algorithme d'apprentissage ensembliste conçu pour améliorer la stabilité et la précision des algorithmes d'apprentissage automatique. Il réduit la variance et permet d'éviter le surapprentissage. Bien qu'il soit généralement appliqué aux méthodes d'arbres de décision, il peut être utilisé avec n'importe quel type de méthode. Le bootstrap aggregating est un cas particulier de l'approche d'apprentissage ensembliste.


* Exemple
Avec Scikit-learn, il est simple de produire de tels modèles baggés, par exemple :
1. Un bagging d’arbres de décision sera généré sur scikit-learn ou weka à partir des classes suivantes:
sklearn.ensemble.RandomForestClassifier(n_estimators=10)
2. weka.classifiers.meta.Bagging
## Boosting
Le boosting est un domaine de l'apprentissage automatique (branche de l'intelligence artificielle). C'est un principe qui regroupe de nombreux algorithmes qui s'appuient sur des ensembles de classifieurs binaires : le boosting optimise leurs performances.Le principe est issu de la combinaison de classifieurs (appelés également hypothèses). Par itérations successives, la connaissance d'un classifieur faible - weak classifier - est ajoutée au classifieur final - strong classifier.
On appelle apprenant faible un algorithme qui fournit des classifieurs faibles, capables de reconnaître deux classes au moins aussi bien que le hasard ne le ferait (c’est-à-dire qu'il ne se trompe pas plus d'une fois sur deux en moyenne, si la distribution des classes est équilibrée). Le classifieur fourni est pondéré par la qualité de sa classification : mieux il classe, plus il sera important. Les exemples mal classés sont boostés pour qu'ils aient davantage d'importance vis-à-vis de l'apprenant faible au prochain tour, afin qu'il pallie le manque.

* Exemple:
Scikit-learn par exemple propose par défaut Adaboost avec :
1. sklearn.ensemble.AdaBoostClassifier(n_estimators=100)
2. weka.classifiers.AdaBoostM1
## Bagging VS Boosting

## Stacking
Le stacking (ou dit parfois blending) est un procédé qui consiste à appliquer un algorithme de machine learning à des classifieur générés par un autre algorithme de machine learning.
D’une certaine façon, il s’agit de prédire quels sont les meilleurs classifieurs et de les pondérer. Cette démarche a l’avantage de pouvoir agréger des modèles très différents et d’améliorer sensiblement la qualité de la prédiction finale, le challenge NetFlix à 1 million $ en est la meilleure preuve.

## Proverbe

Autrement dit

Exemple en Machine Learning

## La Loi des Grands Nombres

## Attention pour la Loi des Grands Nombres




## Comment choisir: le modèle d'ensemble learning
* Lorsqu'on observe l'overfitting sur la somme de nos modèles alors On utilise le **Boosting**
* Lorsqu'on observe l'under-fitting sur la somme de nos modèles alors On utilise le **Bagging**## Ressources
1. [https://fr.wikipedia.org/wiki/Apprentissage_ensembliste](https://fr.wikipedia.org/wiki/Apprentissage_ensembliste)
2. [https://fr.wikipedia.org/wiki/Bootstrap_aggregating](https://fr.wikipedia.org/wiki/Bootstrap_aggregating)
3. [https://fr.wikipedia.org/wiki/Boosting](https://fr.wikipedia.org/wiki/Boosting)
4. [https://www.youtube.com/watch?v=7C_YpudYtw8](https://www.youtube.com/watch?v=7C_YpudYtw8)
5. [https://blog.octo.com/les-methodes-ensemblistes-pour-algorithmes-de-machine-learning/](https://blog.octo.com/les-methodes-ensemblistes-pour-algorithmes-de-machine-learning/)