我已经使用GridSearchCV很长一段时间了,最后决定使用更高效、更省时的方法,比如贝叶斯优化(所以我被告知要使用)。我设置了一些参数,结果开始显示出来
代码如下:
#import BayesianOptimization
from bayes_opt import BayesianOptimization
#import cross validation score
from sklearn.model_selection import cross_val_score
# Set parameters -- have I set an interval or just 2 numbers for each parameter
pbounds = {
'C': (0.01, 1.0),
'max_iter': (100,1000),
'intercept_scaling': (1.0, 2.0)}
# Define logisticregression_hyper_param function
def logisticregression_hyper_param(C, max_iter, intercept_scaling):
lr= LogisticRegression(C=C,max_iter=max_iter)
return np.mean(cross_val_score(lr, X, y, cv=3, scoring='roc_auc'))
optimizer = BayesianOptimization(f=logisticregression_hyper_param,pbounds=pbounds)
# How does this part work?
optimizer.maximize(n_iter=10, init_points=2)
# This part is supposed to give me the best parameters
optimizer.max
我还在得到结果,已经有一段时间了
到目前为止,它看起来像什么:
我的主要问题是,我是通过设置这些参数还是仅仅设置值来设置间隔?如果我设置一个时间间隔,它如何决定每次增加多少
目前没有回答
相关问题 更多 >
编程相关推荐