Створіть свій перший стековий ансамбль

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

Román de las Heras

Data Scientist, Appodeal

Стекінг моделей у scikit-learn

Деякі особливості реалізації стекінгу в scikit-learn:

  1. scikit-learn надає стекові оцінювачі (з версії 0.22)
  2. Сумісні з іншими оцінювачами scikit-learn
  3. Фінальний оцінювач навчається за крос-валідацією
Ансамблеві методи в Python

Загальні кроки

Кроки архітектури стекінгу

Загальні кроки реалізації:

  1. Підготуйте набір даних
  2. Побудуйте оцінювачі першого шару
  3. Додайте передбачення до набору даних
  4. Побудуйте метаоцінювач другого шару
  5. Використайте стековий ансамбль для передбачень
Ансамблеві методи в Python

Стековий класифікатор

from sklearn.ensemble import StackingClassifier
# Створіть класифікатори 1-го шару
classifiers = [
    ('clf1', Classifier1(params1)),
    ('clf2', Classifier2(params2)),
    ...
    ('clfN', ClassifierN(paramsN))
]
# Створіть класифікатор 2-го шару
clf_meta = ClassifierMeta(paramsMeta)
# Побудуйте стековий класифікатор
clf_stack = StackingClassifier(
   estimators=classifiers,
   final_estimator=clf_meta,
   cv=5,
   stack_method='predict_proba',
   passthrough=False)
# Використайте методи fit і predict
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Ансамблеві методи в Python

Стековий регресор

from sklearn.ensemble import StackingRegressor
# Створіть регресори 1-го шару
regressors = [
    ('reg1', Regressor1(params1)),
    ('reg2', Regressor2(params2)),
    ...
    ('regN', RegressorN(paramsN))    
]
# Створіть регресор 2-го шару
reg_meta = RegressorMeta(paramsMeta)
# Побудуйте стековий регресор
reg_stack = StackingRegressor(
   estimators=regressors,
   final_estimator=reg_meta,
   cv=5,
   passthrough=False)
# Використайте методи fit і predict
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Ансамблеві методи в Python

Тепер ваша черга!

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

Preparing Video For Download...