Python 如何通过skopt/BayesSearchCV搜索绘制学习曲线
我无法从skopt优化中绘制学习曲线。以下是我尝试过的:Python 如何通过skopt/BayesSearchCV搜索绘制学习曲线,python,optimization,scikit-learn,Python,Optimization,Scikit Learn,我无法从skopt优化中绘制学习曲线。以下是我尝试过的: from skopt.space import Real, Integer, Categorical from skopt.utils import use_named_args from skopt import BayesSearchCV from skopt.plots import plot_convergence rf = RandomForestRegressor(random_state =7, n_jobs=4) def
from skopt.space import Real, Integer, Categorical
from skopt.utils import use_named_args
from skopt import BayesSearchCV
from skopt.plots import plot_convergence
rf = RandomForestRegressor(random_state =7, n_jobs=4)
def RunSKOpt(X_train, y_train):
hyper_parameters = {"n_estimators": (5, 500),
"max_depth": Categorical([3, None]),
"min_samples_split": (2, 10),
"min_samples_leaf": (1, 10)
}
search = BayesSearchCV(rf,
hyper_parameters,
n_iter = 40,
n_jobs = 4,
cv = 10,
verbose = 1,
return_train_score = False
)
return search
search = RunSKOpt(X_train, y_train)
search.fit(X_train, y_train)
plot_convergence(search)
情节是空的。请告诉我我做错了什么
Charles直接从此Github发行线程: BayesSearchCV不用于收敛绘图。你可以 但是,使用*SearchCV的cv_results_属性,将其转换为 pandas(应该只是根据cv_结果创建数据帧_ 属性),然后可视化不同 迭代。该属性类似于GridSearchCV的属性: 下面是一个这样做的例子: