rf1 = RandomForestClassifier()
rf2 = RandomForestClassifier()
np.random.seed(123456)
sclf = StackingCVClassifier(classifiers=[rf1],
use_probas=True,
meta_classifier=rf2,
verbose=0)
params = {'randomforestclassifier__n_estimators': [5, 10],
'meta-randomforestclassifier__n_estimators': [5, 10]}
grid = GridSearchCV(estimator=sclf,
param_grid=params,
cv=3,
refit=True)
grid.fit(X_train.values, y_train.values)
cv_keys = ('mean_test_score', 'std_test_score', 'params')
for r, _ in enumerate(grid.cv_results_['mean_test_score']):
print("%0.3f +/- %0.2f %r"
% (grid.cv_results_[cv_keys[0]][r],
grid.cv_results_[cv_keys[1]][r] / 2.0,
grid.cv_results_[cv_keys[2]][r]))
print('Best parameters: %s' % grid.best_params_)
print('Accuracy: %.2f' % grid.best_score_)