Usiamo mlxtend!

Metodi Ensemble in Python

Román de las Heras

Data Scientist, Appodeal

Mlxtend

logo mlxtend

  • Estensioni di Machine Learning
  • Utility e tool per Data Science:
    • Selezione delle feature
    • Metodi ensemble
    • Visualizzazione
    • Valutazione modelli
  • API intuitiva e semplice
  • Compatibile con gli stimatori scikit-learn
1 Raschka, Sebastian (2018) MLxtend: Providing machine learning and data science utilities and extensions to Python's scientific computing stack: https://rasbt.github.io/mlxtend/
Metodi Ensemble in Python

Implementazione dello stacking in mlxtend

panoramica stacking classification

Caratteristiche:

  • I singoli stimatori sono addestrati su tutte le feature
  • Il meta-stimatore è addestrato usando solo le predizioni come meta-feature
  • Il meta-stimatore può essere addestrato con etichette o probabilità come target
Metodi Ensemble in Python

StackingClassifier con mlxtend

from mlxtend.classifier 
    import StackingClassifier
# Istanzia i classificatori di 1° livello
clf1 = Classifier1(params1)
clf2 = Classifier2(params2)
...
clfN = ClassifierN(paramsN)
# Istanzia il classificatore di 2° livello
clf_meta = ClassifierMeta(paramsMeta)
# Crea lo Stacking classifier
clf_stack = StackingClassifier(
   classifiers=[clf1, clf2, ... clfN],
   meta_classifier=clf_meta,
   use_probas=False,
   use_features_in_secondary=False)
# Usa i metodi fit e predict
# come con gli stimatori scikit-learn
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Metodi Ensemble in Python

StackingRegressor con mlxtend

from mlxtend.regressor 
    import StackingRegressor
# Istanzia i regressori di 1° livello
reg1 = Regressor1(params1)
reg2 = Regressor2(params2)
...
regN = RegressorN(paramsN)
# Istanzia il regressore di 2° livello
reg_meta = RegressorMeta(paramsMeta)
# Crea lo Stacking regressor
reg_stack = StackingRegressor(
   regressors=[reg1, reg2, ... regN],
   meta_regressor=reg_meta,
   use_features_in_secondary=False)
# Usa i metodi fit e predict
# come con gli stimatori scikit-learn
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Metodi Ensemble in Python

Usiamo mlxtend!

Metodi Ensemble in Python

Preparing Video For Download...