Давайте потренируемся!

Ансамблевые методы в Python

Román de las Heras

Data Scientist, Appodeal

Mlxtend

mlxtend-logo

  • Machine Learning Extensions
  • Инструменты и утилиты для задач Data Science:
    • Отбор признаков
    • Ансамблевые методы
    • Визуализация
    • Оценка моделей
  • Интуитивный и удобный API
  • Совместимость с оценщиками 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/
Ансамблевые методы в Python

Реализация стекинга в mlxtend

stackingclassification_overview.png

Особенности:

  • Базовые оценщики обучаются на полном наборе признаков
  • Мета-оценщик обучается только на предсказаниях базовых оценщиков
  • В качестве целевых значений можно использовать метки или вероятности
Ансамблевые методы в Python

StackingClassifier в mlxtend

from mlxtend.classifier 
    import StackingClassifier
# Instantiate the 1st-layer classifiers
clf1 = Classifier1(params1)
clf2 = Classifier2(params2)
...
clfN = ClassifierN(paramsN)
# Instantiate the 2nd-layer classifier
clf_meta = ClassifierMeta(paramsMeta)
# Build the Stacking classifier
clf_stack = StackingClassifier(
   classifiers=[clf1, clf2, ... clfN],
   meta_classifier=clf_meta,
   use_probas=False,
   use_features_in_secondary=False)
# Use the fit and predict methods
# like with scikit-learn estimators
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Ансамблевые методы в Python

StackingRegressor в mlxtend

from mlxtend.regressor 
    import StackingRegressor
# Instantiate the 1st-layer regressors
reg1 = Regressor1(params1)
reg2 = Regressor2(params2)
...
regN = RegressorN(paramsN)
# Instantiate the 2nd-layer regressor
reg_meta = RegressorMeta(paramsMeta)
# Build the Stacking regressor
reg_stack = StackingRegressor(
   regressors=[reg1, reg2, ... regN],
   meta_regressor=reg_meta,
   use_features_in_secondary=False)
# Use the fit and predict methods
# like with scikit-learn estimators
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Ансамблевые методы в Python

Давайте потренируемся!

Ансамблевые методы в Python

Preparing Video For Download...