Passons à mlxtend !

Méthodes d'ensemble en Python

Román de las Heras

Data Scientist, Appodeal

Mlxtend

logo mlxtend

  • Extensions pour le Machine Learning
  • Outils et utilitaires pour la science des données :
    • Sélection de caractéristiques
    • Méthodes d'ensemble
    • Visualisation
    • Évaluation de modèles
  • API intuitive et conviviale
  • Compatible avec les estimateurs scikit-learn
1 Raschka, Sebastian (2018) MLxtend : utilitaires et extensions de machine learning et de science des données pour l'écosystème de calcul scientifique de Python : https://rasbt.github.io/mlxtend/
Méthodes d'ensemble en Python

Implémentation du stacking avec mlxtend

aperçu du stacking de classification

Caractéristiques :

  • Chaque estimateur est entraîné sur toutes les caractéristiques
  • Le méta-estimateur est entraîné en n'utilisant que les prédictions comme méta-caractéristiques
  • Le méta-estimateur peut être entraîné avec les étiquettes ou les probabilités comme cible
Méthodes d'ensemble en Python

StackingClassifier avec mlxtend

from mlxtend.classifier 
    import StackingClassifier
# Instancier les classificateurs de la 1re couche
clf1 = Classifier1(params1)
clf2 = Classifier2(params2)
...
clfN = ClassifierN(paramsN)
# Instancier le classificateur de la 2e couche
clf_meta = ClassifierMeta(paramsMeta)
# Construire le classificateur de stacking
clf_stack = StackingClassifier(
   classifiers=[clf1, clf2, ... clfN],
   meta_classifier=clf_meta,
   use_probas=False,
   use_features_in_secondary=False)
# Utiliser fit et predict
# comme avec les estimateurs scikit-learn
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Méthodes d'ensemble en Python

StackingRegressor avec mlxtend

from mlxtend.regressor 
    import StackingRegressor
# Instancier les régressions de la 1re couche
reg1 = Regressor1(params1)
reg2 = Regressor2(params2)
...
regN = RegressorN(paramsN)
# Instancier la régression de la 2e couche
reg_meta = RegressorMeta(paramsMeta)
# Construire le régressseur de stacking
reg_stack = StackingRegressor(
   regressors=[reg1, reg2, ... regN],
   meta_regressor=reg_meta,
   use_features_in_secondary=False)
# Utiliser fit et predict
# comme avec les estimateurs scikit-learn
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Méthodes d'ensemble en Python

Passons à mlxtend !

Méthodes d'ensemble en Python

Preparing Video For Download...