сетка поиска случайных лесов "Экземпляр RandomForestClassifier еще не установлен" - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь выполнить поиск по сетке по классификатору случайных лесов, я пытаюсь протестировать различные PCA-компоненты и n_estimators

  model_rf = RandomForestClassifier()
  pca_rf = Pipeline([('pca', PCA()), ('rf', RandomForestClassifier())])

  param_grid_rf = [{
                'pca__n_components': [20],
                'rf__n_estimators': [5]
                }]

  grid_cv_rf = GridSearchCV(estimator=pca_rf, cv=5,param_grid=param_grid_rf)
  grid_cv_rf.fit(x_train, y_train1)
  test_pca_evaluate = pca.transform(x_test)
  y_pred = model_rf.predict(test_pca_evaluate)#error here

В последней строке я получаю сообщение об ошибке "Этот экземпляр RandomForestClassifier еще не установлен. Вызвать 'fit' с соответствующими аргументами перед использованием этого метода. "

1 Ответ

0 голосов
/ 05 декабря 2018

Это довольно простая ошибка - RandomForestClassifier, метод которого вы вызываете, еще не подходит, то есть вы еще не вызвали model_rf.fit.Этот объект не соответствует вашему grid_cv_rf объекту.

Я думаю, что вы хотите grid_cv_rf.predict(x_test), потому что этот объект grid_cv_rf подходит как для вашей PCA, так и для RF-подгонки.

...