Я использую следующий код для получения оптимизированных параметров для randomforest
, используя gridsearchcv
.
x_train, x_test, y_train, y_test = train_test_split(X, y, random_state=0)
rfc = RandomForestClassifier(random_state=42, class_weight = 'balanced')
param_grid = {
'n_estimators': [200, 500],
'max_features': ['auto', 'sqrt', 'log2'],
'max_depth' : [4,5,6,7,8],
'criterion' :['gini', 'entropy']
}
k_fold = StratifiedKFold(n_splits=10, shuffle=True, random_state=0)
CV_rfc = GridSearchCV(estimator=rfc, param_grid=param_grid, cv= 10, scoring = 'roc_auc')
CV_rfc.fit(x_train, y_train)
print(CV_rfc.best_params_)
print(CV_rfc.best_score_)
Теперь я хочу применить настроенные параметры к X_test
. Для этого я сделал следующее:
pred = CV_rfc.decision_function(x_test)
print(roc_auc_score(y_test, pred))
Однако decision_function
, похоже, не поддерживает randomforest
, поскольку я получил следующую ошибку.
AttributeError: у объекта 'RandomForestClassifier' нет атрибута
'Decision_function'.
Есть ли другой способ сделать это?
Я рад предоставить более подробную информацию, если это необходимо.