贝叶斯优化包使用

from bayes_opt import BayesianOptimization

def rf_cv(n_estimators, min_samples_split, max_features, max_depth):
    val = cross_val_score(
        RandomForestClassifier(n_estimators=int(n_estimators),
            min_samples_split=int(min_samples_split),
            max_features=min(max_features, 0.999),
            max_depth=int(max_depth),
            random_state=2
        ),
        train_X,train_y, scoring='roc_auc', cv=2
    ).mean()
    return val
rf_bo = BayesianOptimization(
        rf_cv,
        {
            'n_estimators': (50, 60),
            'min_samples_split': (2, 5),
            'max_features': (0.1, 0.2),
            'max_depth': (5, 7)
        }
    )
rf_bo.maximize()
rf_bo.res['max']

猜你喜欢

转载自blog.csdn.net/qq_44785318/article/details/122386839
今日推荐