from sklearn.datasets import load_boston
from sklearn.metrics import mean_squared_error
from lightgbm import LGBMRegressor
import numpy as np

导入数据集

boston = load_boston()
X,y = boston.data,boston.target
print(X.shape)
print(y.shape)

定义交叉验证分数

from sklearn.model_selection import KFold, cross_val_score, GridSearchCVdef mse_cv(model=None,X_train=None,y_train=None):kf=KFold(n_splits=10,shuffle=True,random_state=42).get_n_splits(X_train)return -cross_val_score(model,X_train,y_train,scoring='neg_mean_absolute_error',cv=kf,n_jobs=-1)

定义模型

model = LGBMRegressor()
score = mse_cv(model,X,y)
print('{:.4f}({:.4f})'.format(score.mean(),score.std()))
model.fit(X,y)
print('{:.4f}'.format(mean_squared_error(model.predict(X),y)))

定义候选参数列表

param_dist = {'n_estimators': (10, 250),'min_samples_split': (2, 25),'max_features': (0.1, 0.999),'max_depth': (5, 15)}

1.网格搜索调参

from scipy.stats import randint as sp_randint
from sklearn.model_selection import GridSearchCVgrid_search = GridSearchCV(estimator = model, param_grid=param_dist,scoring="neg_mean_squared_error" ,n_jobs=-1, cv=5)
grid_search.fit(X, y)
print(grid_search.best_estimator_)

2.随机搜索调参

from scipy.stats import randint as sp_randint
from sklearn.model_selection import RandomizedSearchCVrandom_search = RandomizedSearchCV(estimator = model, param_distributions=param_dist,n_iter=100, scoring="neg_mean_squared_error" ,n_jobs=-1, cv=5)
random_search.fit(X, y)
print(random_search.best_estimator_)

3.贝叶斯调参

from bayes_opt import BayesianOptimizationdef lgb_cv(n_estimators, min_samples_split, max_features, max_depth):val = cross_val_score(LGBMRegressor(n_estimators=int(n_estimators),min_samples_split=int(min_samples_split),max_features=min(max_features, 0.999), # floatmax_depth=int(max_depth),random_state=2),X, y, scoring='neg_mean_absolute_error', cv=5).mean()return vallgb_bo = BayesianOptimization(lgb_cv,{'n_estimators': (10, 250),'min_samples_split': (2, 25),'max_features': (0.1, 0.999),'max_depth': (5, 15)})
lgb_bo.maximize(init_points=21,n_iter=90)
print(lgb_bo.max['params'])

机器学习调参——网格搜索调参,随机搜索调参,贝叶斯调参相关推荐

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

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

  2. 贝叶斯调参——bayes_opt

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

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

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

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

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

  5. LGBM使用贝叶斯调参

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

  6. 机器学习100天(三十七):037 朴素贝叶斯-挑个好西瓜!

    <机器学习100天>完整目录:目录 机器学习100天,今天讲的是:朴素贝叶斯-挑个好西瓜! 红色石头已经了解了贝叶斯定理和朴素贝叶斯法,接下来已经可以很自信地去买瓜了.买瓜之前,还有一件事 ...

  7. Python3《机器学习实战》学习笔记(五):朴素贝叶斯实战篇之新浪新闻分类

    转载请注明作者和出处:http://blog.csdn.net/c406495762 Github代码获取:https://github.com/Jack-Cherish/Machine-Learni ...

  8. 视觉机器学习20讲-MATLAB源码示例(6)-贝叶斯学习算法

    视觉机器学习20讲-MATLAB源码示例(6)-贝叶斯学习算法 1. 贝叶斯学习算法 2. Matlab仿真 3. 小结 1. 贝叶斯学习算法 贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统 ...

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

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

最新文章

  1. This和Super关键字的对比
  2. 加载服务器版本信息,传奇服务器端启动加载错误的解决方法
  3. golang内存分配概述
  4. CentOS6安装devtoolset(使用高版本gcc)GCC 4.8 GCC 4.9 GCC 5.2
  5. C语言中的变量是怎么回事?
  6. 大数据学习系列----基于Spark Streaming流式计算
  7. 推荐算法--推荐系统冷启动问题(03)
  8. 浅谈Java中的hashcode方法
  9. RabbitMQ学习之:(一)初识、概念及心得
  10. Linux性能优化之“关闭Ctrl+Alt+Del”
  11. Linux - Ubuntu下JDK配置
  12. 生命在此定格 路透记者遇难前拍下的最后画面
  13. 如何重置IE浏览器?重置IE浏览器的方法
  14. matlab画差分方程的信号流图,信号与系统教程及实验(第2版)
  15. 证件照换底色(偷懒不专业版,仅供参考)
  16. PMP第11章:项目风险管理易错习题和知识点汇总
  17. android字体大小根据分辨率自动调整
  18. UEFI shell - 脚本文件
  19. 训练神经网络gpu占用率低,外接gpu 训练神经网络
  20. linux如何查看tlb大小,TLB缓存是个神马鬼,如何查看TLB miss?

热门文章

  1. 利用Levenberg-Marquardt方法拟合数据
  2. 【疯壳·机器人教程6】人形街舞机器人-串口控制舵机
  3. arcsde 版本压缩
  4. 使用xgboost以及lgbm
  5. 如何下载景山街道卫星地图高清版大图
  6. 业余无线电入门分享 --- 考试执照
  7. W5500以太网控制器芯片(四):实现DNS功能
  8. ThinkPHP整合支付宝担保交易
  9. python实现计时器与画图
  10. 丹麦网站推出提供俊男靓女精子或卵子服务