Когда делать выбор объектов в imblearn конвейере с перекрестной проверкой и сеточным поиском - PullRequest
0 голосов
/ 01 июля 2019

В настоящее время я строю классификатор с сильно несбалансированными данными. Я использую конвейер imblearn сначала для StandardScaling, SMOTE, а затем для классификации с gridSearchCV. Это гарантирует, что повышающая выборка выполняется во время перекрестной проверки. Теперь я хочу включить feature_selection в свой конвейер. Как мне включить этот шаг в конвейер?

model = Pipeline([
        ('sampling', SMOTE()),
        ('classification', RandomForestClassifier())
    ])

param_grid = { 
    'classification__n_estimators': [10, 20, 50],
    'classification__max_depth' : [2,3,5]
}

gridsearch_model = GridSearchCV(model, param_grid, cv = 4, scoring = make_scorer(recall_score))
gridsearch_model.fit(X_train, y_train)
predictions = gridsearch_model.predict(X_test)
print(classification_report(y_test, predictions))
print(confusion_matrix(y_test, predictions))
...