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',
Optuna库优化应用笔记

博客围绕Optuna库展开,介绍其优势,可衔接深度学习框架和sklearn - optimize,适用于多种优化场景。还阐述了使用该库的步骤,包括导入必要库及加载房价数据、定义目标函数与参数空间、选用优化算法等,最后给出完整代码。
最低0.47元/天 解锁文章
3866





