Créez votre premier ensemble empilé

Méthodes d'ensemble en Python

Román de las Heras

Data Scientist, Appodeal

Empiler des modèles avec scikit-learn

Fonctionnalités du regroupement (stacking) dans scikit-learn :

  1. scikit-learn offre des estimateurs de stacking (depuis la version 0.22)
  2. Compatible avec les autres estimateurs scikit-learn
  3. L'estimateur final est entraîné par validation croisée
Méthodes d'ensemble en Python

Étapes générales

Étapes de l'architecture de stacking

Étapes générales de l'implémentation :

  1. Préparer l'ensemble de données
  2. Construire les estimateurs de la 1re couche
  3. Ajouter les prédictions à l'ensemble de données
  4. Construire l'estimateur méta de 2e couche
  5. Utiliser l'ensemble empilé pour prédire
Méthodes d'ensemble en Python

Classifieur de stacking

from sklearn.ensemble import StackingClassifier
# Instancier les classifieurs de 1re couche
classifiers = [
    ('clf1', Classifier1(params1)),
    ('clf2', Classifier2(params2)),
    ...
    ('clfN', ClassifierN(paramsN))
]
# Instancier le classifieur de 2e couche
clf_meta = ClassifierMeta(paramsMeta)
# Construire le classifieur de stacking
clf_stack = StackingClassifier(
   estimators=classifiers,
   final_estimator=clf_meta,
   cv=5,
   stack_method='predict_proba',
   passthrough=False)
# Utiliser les méthodes fit et predict
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Méthodes d'ensemble en Python

Régressseur de stacking

from sklearn.ensemble import StackingRegressor
# Instancier les régressseurs de 1re couche
regressors = [
    ('reg1', Regressor1(params1)),
    ('reg2', Regressor2(params2)),
    ...
    ('regN', RegressorN(paramsN))    
]
# Instancier le régressseur de 2e couche
reg_meta = RegressorMeta(paramsMeta)
# Construire le régressseur de stacking
reg_stack = StackingRegressor(
   estimators=regressors,
   final_estimator=reg_meta,
   cv=5,
   passthrough=False)
# Utiliser les méthodes fit et predict
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Méthodes d'ensemble en Python

À vous de jouer !

Méthodes d'ensemble en Python

Preparing Video For Download...