当前位置: 首页 > news >正文

杂志网站建设青岛学网站建设的学校

杂志网站建设,青岛学网站建设的学校,网站使用说明书模板,前段模板的网站1. Optuna库的优势 对比bayes_opt和hyperoptOptuna不仅可以衔接到PyTorch等深度学习框架上,还可以与sklearn-optimize结合使用,这也是我最喜欢的地方,Optuna因此特性可以被使用于各种各样的优化场景。 2. 导入必要的库及加载数据 用的是sklea…

1. Optuna库的优势

        对比bayes_opt和hyperoptOptuna不仅可以衔接到PyTorch等深度学习框架上,还可以与sklearn-optimize结合使用,这也是我最喜欢的地方,Optuna因此特性可以被使用于各种各样的优化场景。

 

2. 导入必要的库及加载数据

        用的是sklearn自带的房价数据,只是我把它保存下来了。

import optuna
import pandas as pd
import numpy as np
from sklearn.model_selection import KFold,cross_validate
print(optuna.__version__)
from sklearn.ensemble import RandomForestRegressor as RFR
data = pd.read_csv(r'D:\2暂存文件\Sth with Py\贝叶斯优化\data.csv')
X = data.iloc[:,0:8]
y = data.iloc[:,8]

3. 定义目标函数与参数空间

        Optuna相对于其他库,不需要单独输入参数或参数空间,只需要直接在目标函数中定义参数空间即可。这里以负均方误差为损失函数。

def optuna_objective(trial) :# 定义参数空间n_estimators = trial.suggest_int('n_estimators',10,100,1)max_depth = trial.suggest_int('max_depth',10,50,1)max_features = trial.suggest_int('max_features',10,30,1)min_impurtity_decrease = trial.suggest_float('min_impurity_decrease',0.0, 5.0, step=0.1)# 定义评估器reg = RFR(n_estimators=n_estimators,max_depth=max_depth,max_features=max_features,min_impurity_decrease=min_impurtity_decrease,random_state=1412,verbose=False,n_jobs=-1)# 定义交叉过程,输出负均方误差cv = KFold(n_splits=5,shuffle=True,random_state=1412)validation_loss = cross_validate(reg,X,y,scoring='neg_mean_squared_error',cv=cv,verbose=True,n_jobs=-1,error_score='raise')return np.mean(validation_loss['test_score'])

4.  定义优化目标函数

        在Optuna中我们可以调用sampler模块进行选用想要的优化算法,比如TPE、GP等等。

def optimizer_optuna(n_trials,algo):# 定义使用TPE或GPif algo == 'TPE':algo = optuna.samplers.TPESampler(n_startup_trials=20,n_ei_candidates=30)elif algo == 'GP':from optuna.integration import SkoptSamplerimport skoptalgo = SkoptSampler(skopt_kwargs={'base_estimator':'GP','n_initial_points':10,'acq_func':'EI'})study = optuna.create_study(sampler=algo,direction='maximize')study.optimize(optuna_objective,n_trials=n_trials,show_progress_bar=True)print('best_params:',study.best_trial.params,'best_score:',study.best_trial.values,'\n')return study.best_trial.params, study.best_trial.values

5. 执行部分

import warnings
warnings.filterwarnings('ignore',message='The objective has been evaluated at this point before trails')
optuna.logging.set_verbosity(optuna.logging.ERROR)
best_params, best_score = optimizer_optuna(200,'TPE')

6. 完整代码

import optuna
import pandas as pd
import numpy as np
from sklearn.model_selection import KFold,cross_validate
print(optuna.__version__)
from sklearn.ensemble import RandomForestRegressor as RFRdata = pd.read_csv(r'D:\2暂存文件\Sth with Py\贝叶斯优化\data.csv')
X = data.iloc[:,0:8]
y = data.iloc[:,8]def optuna_objective(trial) :# 定义参数空间n_estimators = trial.suggest_int('n_estimators',10,100,1)max_depth = trial.suggest_int('max_depth',10,50,1)max_features = trial.suggest_int('max_features',10,30,1)min_impurtity_decrease = trial.suggest_float('min_impurity_decrease',0.0, 5.0, step=0.1)# 定义评估器reg = RFR(n_estimators=n_estimators,max_depth=max_depth,max_features=max_features,min_impurity_decrease=min_impurtity_decrease,random_state=1412,verbose=False,n_jobs=-1)# 定义交叉过程,输出负均方误差cv = KFold(n_splits=5,shuffle=True,random_state=1412)validation_loss = cross_validate(reg,X,y,scoring='neg_mean_squared_error',cv=cv,verbose=True,n_jobs=-1,error_score='raise')return np.mean(validation_loss['test_score'])def optimizer_optuna(n_trials,algo):# 定义使用TPE或GPif algo == 'TPE':algo = optuna.samplers.TPESampler(n_startup_trials=20,n_ei_candidates=30)elif algo == 'GP':from optuna.integration import SkoptSamplerimport skoptalgo = SkoptSampler(skopt_kwargs={'base_estimator':'GP','n_initial_points':10,'acq_func':'EI'})study = optuna.create_study(sampler=algo,direction='maximize')study.optimize(optuna_objective,n_trials=n_trials,show_progress_bar=True)print('best_params:',study.best_trial.params,'best_score:',study.best_trial.values,'\n')return study.best_trial.params, study.best_trial.valuesimport warnings
warnings.filterwarnings('ignore',message='The objective has been evaluated at this point before trails')
optuna.logging.set_verbosity(optuna.logging.ERROR)
best_params, best_score = optimizer_optuna(200,'TPE')

 

http://www.yayakq.cn/news/450050/

相关文章:

  • 做视频网站需要网络设置网站
  • 南雄市住房和城乡建设局网站html免费网站模板
  • 网站后台iis配置动漫制作专业属于什么类型专业
  • 标题制作网站佛山网络公司 乐云seo
  • 建设汽车网站html标签 wordpress
  • 手机模板网站常见网页制作软件
  • 使用门户网站网络推广方法网站连接怎么做
  • 网站ip查询高端女装有哪些品牌
  • 网站运营与建设 教学大纲纯文字排版设计网站
  • 班级展示网站网站搭建官网
  • 网站模板备份织梦网站漏洞修复
  • 有哪些做的好的小众网站软件工程最吃香的三个专业
  • 做精神科网站转短链接在线生成
  • 广东网站建设公司有哪些做一个网站
  • 重庆便宜做网站的常州网站定制
  • 企业网站建设策划书1万字做网站销售一个星期的计划
  • 青岛网站建设大全江西建设工程质量管理网站
  • 南通网站定制费用手机网站开发 html
  • 网站开发_去哪里找页面上海市建设咨询协会网站
  • 网站开发需求图贵州省水利建设项目公示网站
  • 做网站v1认证需要付费吗做一个企业网站大概需要多少钱
  • 北京平台网站建设费用公司建网站的好处
  • 做微站比较好的网站山东网站seo公司
  • 安阳建设网站中国科技公司100强
  • 企业网站模板 首页大图建设部网站最新政策
  • 北京行业网站制作湛江网站建设外包
  • 大型移动网站开发wordpress插件如何破解
  • 提供有经验的网站建设网站建设 主机选择
  • aspx高性能网站建设logo注册
  • 网站图片展示方式成片1卡2卡三卡4卡