贝叶斯调参的相关知识与代码格式请参考:https://blog.csdn.net/weixin_35757704/article/details/118416689

  1. 构造LGBM模型

        model = LGBMRegressor(num_leaves=31,learning_rate=learning_rate,n_estimators=int(n_estimators),silent=True,n_jobs=5, random_state=0, verbose=-1,min_child_samples=int(min_child_samples),feature_fraction=feature_fraction,bagging_fraction=bagging_fraction,)model.fit(x_train, y_train, eval_set=[(x_test, y_test)], verbose=-1)
    
  2. 使用贝叶斯模板
  3. 训练模型,并且将每一次的结果都写入文件中,防止程序意外终止。

完整代码

from lightgbm import LGBMRegressor
from sklearn.model_selection import train_test_split
from sklearn.datasets import make_regression
import numpy as np
from bayes_opt import BayesianOptimization
from sklearn.metrics import mean_squared_errordef train_model(learning_rate, n_estimators, min_child_samples, feature_fraction, bagging_fraction):# 模型训练try:model = LGBMRegressor(num_leaves=31,learning_rate=learning_rate,n_estimators=int(n_estimators),silent=True,n_jobs=5, random_state=0, verbose=-1,min_child_samples=int(min_child_samples),feature_fraction=feature_fraction,bagging_fraction=bagging_fraction,)model.fit(x_train, y_train, eval_set=[(x_test, y_test)], verbose=-1)score = - mean_squared_error(y_test, model.predict(x_test, num_iteration=model.best_iteration_))with open('lgbm_param.txt', 'a') as file:file.write("learning_rate:" + str(learning_rate) + " n_estimators:" + str(int(n_estimators)) + " min_child_samples:" + str(int(min_child_samples)) + " score:" + str(score) + '\n')return scoreexcept Exception as e:return -1000000if __name__ == '__main__':x, y = make_regression(n_samples=1000, n_features=5)x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)pbounds = {'learning_rate': (0.0001, 0.1),'n_estimators': (100, 1000),'min_child_samples': (18, 40),'feature_fraction': (0.5, 0.9999999999),"bagging_fraction": (0.5, 0.99999999999),}optimizer = BayesianOptimization(f=train_model,  # 黑盒目标函数pbounds=pbounds,  # 取值空间verbose=2,  # verbose = 2 时打印全部,verbose = 1 时打印运行中发现的最大值,verbose = 0 将什么都不打印random_state=1,)optimizer.maximize(  # 运行init_points=10,  # 随机搜索的步数n_iter=5000,  # 执行贝叶斯优化迭代次数)with open('lgbm_param.txt', 'a') as file:file.write("optimizer_params: " + str(optimizer.max['params']) + " optimizer_target: " + str(optimizer.max['target']) + '\n')

LGBM使用贝叶斯调参相关推荐

  1. 自动化机器学习(AutoML)之自动贝叶斯调参

    一.Python实现自动贝叶斯调整超参数 [导读]机器学习中,调参是一项繁琐但至关重要的任务,因为它很大程度上影响了算法的性能.手动调参十分耗时,网格和随机搜索不需要人力,但需要很长的运行时间.因此, ...

  2. 调参1——随机森林贝叶斯调参

    贝叶斯调参教程请参考:https://blog.csdn.net/weixin_35757704/article/details/118480135 安装贝叶斯调参: pip install baye ...

  3. 贝叶斯调参——bayes_opt

    一.简介 贝叶斯调参主要思想是,给定优化的目标函数(广义的函数,只需指定输入和输出即可,无需知道内部结构以及数学性质),通过不断地添加样本点来更新目标函数的后验分布 他与常规的网格搜索或者随机搜索的区 ...

  4. 机器学习调参——网格搜索调参,随机搜索调参,贝叶斯调参

    from sklearn.datasets import load_boston from sklearn.metrics import mean_squared_error from lightgb ...

  5. 网格搜索、随机搜索和贝叶斯调参总结与实践

    网格搜索 网格搜索时应用最广泛的超参数搜素算法,网格搜索通过查找搜索范围内的所有点,来确定最优值.一般是通过给出较大的搜索范围以及较小的步长,网格搜索时一定可以找到全局最大值或全局最小值的. 但是网格 ...

  6. python朴素贝叶斯调参_邹博机器学习升级版II附讲义、参考书与源码下载(数学 xgboost lda hmm svm)...

    课程介绍 本课程特点是从数学层面推导最经典的机器学习算法,以及每种算法的示例和代码实现(Python).如何做算法的参数调试.以实际应用案例分析各种算法的选择等. 1.每个算法模块按照"原理 ...

  7. 随机森林、LGBM基于贝叶斯优化调参

    前言 本文基于孕妇吸烟与胎儿问题中数据集与前期处理 针对随机森林与LGBM模型网格搜索效率低,使用贝叶斯调参提高效率 有关于贝叶斯优化包相关参数说明详解可以看GitHub地址 将处理好的数据用dill ...

  8. 调参神器贝叶斯优化(bayesian-optimization)实战篇

    今天笔者来介绍一下和调参有关的一些事情,作为算法工程师,调参是不可避免的一个工作.在坊间算法工程师有时候也被称为:调参侠.但是一个合格的算法工程师,调参这部分工作不能花费太多的气力,因为还有很多艰深的 ...

  9. 贝叶斯优化调参-Bayesian optimiazation原理加实践

    随着机器学习用来处理大量数据被广泛使用,超参数调优所需要的空间和过程越来越复杂.传统的网格搜索和随即搜索已经不能满足用户的需求,因此方便快捷的贝叶斯优化调参越来越受程序员青睐. 1.贝叶斯优化原理介绍 ...

最新文章

  1. clojure的感觉
  2. 团队-团队编程项目作业名称-模块测试过程
  3. Android SQLite数据库的基本操作-SQLiteDatabase
  4. 《高级软件架构师讲义》学习笔记5
  5. tf/idf_Neo4j:带密码的TF / IDF(和变体)
  6. TIM怎么设置禁止窗口抖动 TIM防抖设置技巧
  7. 竖流式沉淀池集水槽设计计算_竖流式沉淀池的设计
  8. Spring Boot 内嵌容器 Tomcat / Undertow / Jetty 优雅停机实现
  9. 帝豪云星外对接SWAPIDC教程
  10. 无人机/FPV穿越机航模的遥控器/接收机等配件厂商
  11. android qq音乐歌词怎么实现,Android自定义View,高仿QQ音乐歌词滚动控件!
  12. 计算机网络软件组成,计算机网络软件的组成
  13. 华为鸿蒙系统2.0是什么?Android的升级版?
  14. 十进制小数转换为R进制小数
  15. MATLAB代码:含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度
  16. 人工智能的伦理和价值观——阿西洛马人工智能原则(Asilomar AI Principles )
  17. html实现手风琴轮播图,jQuery手风琴轮播图
  18. 微信小程序之图书借阅系统(含源码+论文+答辩PPT等)
  19. [杂]图多杀猫的英语说法
  20. CCPC2020(绵阳) C. Code a Trie

热门文章

  1. php 热点图,JavaScript_javascript如何写热点图,在gis中,你如果用js来写热点 - phpStudy...
  2. python面向对象三大特性_Python面向对象之多态原理与用法案例分析
  3. wrodpress登录mysql_登陆wordpress后台MySQL错误
  4. 实验一 分治与递归—全排列 java算法
  5. codevs 5966 [SDOI2017]硬币游戏
  6. Python学习札记(十一) Function2 函数定义
  7. Oracle的tnsnames.ora配置(PLSQL Developer)
  8. IOS疯狂基础之GIF图片的显示
  9. 用EL表达式显示客户端使用的浏览器
  10. React.js 基础入门四--要点总结