Méthodes d'ensemble en Python
Román de las Heras
Data Scientist, Appodeal
Fonctionnalités du regroupement (stacking) dans scikit-learn :
scikit-learn offre des estimateurs de stacking (depuis la version 0.22)scikit-learn
Étapes générales de l'implémentation :
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)
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