Забавная проблема здесь - у меня есть GridSearchCV
результаты, которые после выбора вишни из атрибута grid_search_cv.results_
фиксируются следующим образом:
Input: pd.DataFrame(grid_clf_rf.cv_results_).iloc[4966]['params']
Output: {'rf__max_depth': 40, 'rf__max_features': 2, 'rf__n_estimators': 310}
Теперь, как я понимаю, объект Pipeline пакета Imbalanced Learn имеет видобертка вокруг конвейера SciKit-Learn, и он должен принимать параметр **fit_params
в своем методе .fit()
следующим образом:
clf = BalancedRandomForestClassifier(random_state = random_state,
n_jobs = n_jobs)
pipeline = Pipeline([('nt', nt), ('rf', clf)])
pipeline.fit(X_train, y_train, **pd.DataFrame(grid_clf_rf.cv_results_).iloc[4966]['params'])
Однако, когда я выполняю вышеприведенное выражение, я получаю следующий результат:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-64-a26424dc8038> in <module>
4 pipeline = Pipeline([('nt', nt), ('rf', clf)])
5
----> 6 pipeline.fit(X_train, y_train, **pd.DataFrame(grid_clf_rf.cv_results_).iloc[4966]['params'])
7
8 print_scores(pipeline, X_train, y_train, X_test, y_test)
/opt/conda/lib/python3.7/site-packages/imblearn/pipeline.py in fit(self, X, y, **fit_params)
237 Xt, yt, fit_params = self._fit(X, y, **fit_params)
238 if self._final_estimator is not None:
--> 239 self._final_estimator.fit(Xt, yt, **fit_params)
240 return self
241
TypeError: fit() got an unexpected keyword argument 'max_features'
Есть идеи, что я делаю не так?