基于HyperOpt实现TPE优化

基于HyperOpt实现TPE优化

Hyperopt是目前最为通用的贝叶斯优化器之一,它集成了随机搜索、模拟退火和TPE(Tree-structured Parzen Estimator Approach)等多种优化算法。相较于Bayes_opt,Hyperopt更先进、更现代、维护更好,也是我们最常用来实现TPE方法的优化器。在实际应用中,基于高斯混合模型的TPE通常比基于高斯过程的贝叶斯优化更高效地获得更优结果,在AutoML领域也得到了广泛应用。

1 定义目标函数

Notes:

  1. 目标函数的输入必须是符合hyperopt规定的字典;
  2. Hyperopt只支持寻找𝑓(𝑥)的最小值,不支持寻找最大值。
def hyperopt_objective(params):
    
    #定义评估器
    #需要搜索的参数需要从输入的字典中索引出来
    #不需要搜索的参数,可以是设置好的某个值
    #在需要整数的参数前调整参数类型
    reg = RFR(n_estimators = int(params["n_estimators"])
              ,max_depth = int(params["max_depth"])
              ,max_features = int(params["max_features"])
              ,min_impurity_decrease = params["min_impurity_decrease"]
              ,random_state=1412
              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值