位置: IT常识 - 正文

XGBoost模型调参:GridSearchCV方法网格搜索优化参数(模型调参是调节什么)

编辑:rootadmin
XGBoost模型调参:GridSearchCV方法网格搜索优化参数 文章目录一、前言二、数据处理三、XGBoost参数调优3.1 常见可调参数3.2 GridSearchCV调参函数3.3 一般调参顺序3.4 调参结果可视化四、总结一、前言

推荐整理分享XGBoost模型调参:GridSearchCV方法网格搜索优化参数(模型调参是调节什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:xgb模型参数,模型参数调优,模型参数调整方法,调整模型参数,调整模型参数,调整模型参数,模型调参方法,模型调参方法,内容如对您有帮助,希望把文章链接给更多的朋友!

本篇文章是继上一篇文章:使用K-Fold训练和预测XGBoost模型的方法,探讨对XGBoost模型调优的方法,所使用的代码和数据文件均是基于上一篇文章的,需要的小伙伴可以跳转链接自行获取。

二、数据处理

程序和上篇文章中的完全一致,不再赘述。

import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitfrom xgboost import XGBRegressorfeature_file = pd.read_csv("./DataHousePricePrediction/train.csv")x = []# 特征数据y = []# 标签for index in feature_file.index.values: #print('index', index) #print(feature_file.values[0]) #print(feature_file.ix[index].values) x.append(feature_file.values[index][2: -1]) # 从原文件中提取输入变量数据 y.append(feature_file.values[index][1]) # 从原文件中提取输出变量标签x, y = np.array(x), np.array(y)# 划分训练集和验证集X_train,X_valid,y_train,y_valid = train_test_split(x,y,test_size=0.2,random_state=12345)三、XGBoost参数调优3.1 常见可调参数

一般调参会考虑以下几个超参数(需要在模型中初始化):

• learning_rate • n_estimators • max_depth • min_child_weight • subsample • colsample_bytree • gamma • reg_alpha • reg_lambda

这些参数的具体含义可见:XGBoost常用参数 定义模型:

#定义xgboost模型xgb = XGBRegressor(learning_rate =0.1, n_estimators=150, max_depth=5, min_child_weight=1, gamma=0, subsample=0.8, colsample_bytree=0.8, objective= 'reg:squarederror', reg_alpha= 0, reg_lambda= 1, nthread=4, scale_pos_weight=1, seed=27)3.2 GridSearchCV调参函数XGBoost模型调参:GridSearchCV方法网格搜索优化参数(模型调参是调节什么)

不同于CV领域的神经网络,Scikit-learn为XGBoost模型提供了一个网格搜索最优化参数的方法:GridSearchCV(网格搜索交叉验证调参)。详细介绍见:sklearn.model_selection.GridSearchCV

在本文中,主要使用到了GridSearchCV中的以下几个参数:

estimator:表示所要调优的模型。param_grid:字典类型变量。主要存储的是要尝试的参数,每一个参数中要尝试的值组成一个列表,不同的参数列表构成一个字典。n_jobs,int类型,表示要并行运行的作业数,-1表示使用所有的处理器。通过此参数可以认为控制使用CPU的核数。cv,int类型,表示要交叉验证拆分的数量,也就是K-Fold的数量。

GridSearchCV搜索原理:对param_grid中要尝试的变量进行排列组合,遍历每一种组合,通过交叉验证的方式返回所有参数组合下的评价指标得分,最后选择分数最高的组合对应的参数作为最优值。简单来说,GridSearchCV的搜索原理就是枚举,暴力搜索。

3.3 一般调参顺序

调参的要旨是:每次调一个或两个超参数,然后将找到的最优超参数代入到模型中继续调余下的参数。 XGBoost一般的调参顺序和排列组合是:

最佳迭代次数(树模型的个数):n_estimatorsmin_child_weight以及max_depthgammasubsample以及colsample_bytreereg_alpha以及reg_lambdalearning_rate

下面以min_child_weight以及max_depth两个参数为例展示对应的调参程序:

from sklearn.model_selection import GridSearchCV#Need to research#research_one: n_epoch#research_one: max_depthparam_test1 = { 'min_child_weight': [1, 2, 3], 'max_depth':[2, 3, 4, 5, 6, 7] }xgb_res = GridSearchCV(estimator = xgb, param_grid = param_test1, n_jobs=4, cv=5)xgb_res.fit(X_train, y_train)3.4 调参结果可视化

在搜索完成后,本文使用了cv_results_、best_params_、best_score_作为搜索输出,这三个方法都是GridSearchCV方法的对象,含义是:

cv_results_:输出cv(交叉验证)结果的,可以是字典形式也可以是numpy形式,还可以转换成DataFrame格式best_params_:通过网格搜索得到的score最好对应的参数best_score_:输出最好的成绩print('max_depth_min_child_weight')print('gsearch1.grid_scores_', xgb_res.cv_results_)print('gsearch1.best_params_', xgb_res.best_params_)print('gsearch1.best_score_', xgb_res.best_score_)

程序的输出为:

从输出的结果看出,GridSearchCV搜索确定了最佳的max_depth为3,最佳的min_child_weight为3,综合两种参数下模型的最佳得分为:0.65,获得了我们要的结果。 注:这里没有展示xgb_res.cv_results_的输出结果(太长了),从上面的对param_test1的定义可知,此次搜索中min_child_weight有3中取值,max_depth有6种取值,进行排列组合后有18种可能。cv_results_ 展示的就是这18种情况对应的交叉验证值。

四、总结

GridSearchCV是XGBoost模型最常用的调参方法,在调参时要注意调参顺序并且要有效设置参数的变化范围,提高效率。受限于暴力搜索的设计逻辑,GridSearchCV 并不适用于数据量大和超参数数量多的场景。当数据量大时,可以考虑坐标下降方法;当所调超参数数量多时,可以考虑使用随机搜索 RandomizedSearchCV方法。 总的来说,有效的数据清洗和挖掘、符合使用场景的模型、灵活的训练和调参技巧是提高预测准确度的三大手段。

本文链接地址:https://www.jiuchutong.com/zhishi/297296.html 转载请保留说明!

上一篇:【Bootstrap】Bootstrap环境搭建及demo(bootstrapicon)

下一篇:自己的智能AI聊天机器人,可自定义头像,免费html源码分享,粘贴即用!(自己的智能ai聊天怎么用)

  • 10种免费的网店推广方式(有没有免费的网店)

    10种免费的网店推广方式(有没有免费的网店)

  • 笔记本的type-c接口有什么用(笔记本的type-c接口能充电吗)

    笔记本的type-c接口有什么用(笔记本的type-c接口能充电吗)

  • 苹果1530是什么型号(苹果1530是什么版本)

    苹果1530是什么型号(苹果1530是什么版本)

  • 手机qq被单删怎么看(手机qq被删了怎么看以前的聊天记录)

    手机qq被单删怎么看(手机qq被删了怎么看以前的聊天记录)

  • ipad6代多少寸(ipad6代是几寸)

    ipad6代多少寸(ipad6代是几寸)

  • 华为p40pro与nova7pro区别(华为p40pro与nova8pro哪个好)

    华为p40pro与nova7pro区别(华为p40pro与nova8pro哪个好)

  • 华为手机怎么变黑白屏了呢(华为手机怎么变黑白了,怎么还原)

    华为手机怎么变黑白屏了呢(华为手机怎么变黑白了,怎么还原)

  • iphone7plus有nfc功能吗(iphone7plus有nfc在哪)

    iphone7plus有nfc功能吗(iphone7plus有nfc在哪)

  • 微信表情吃瓜是什么意思(微信表情包吃瓜表达什么意思)

    微信表情吃瓜是什么意思(微信表情包吃瓜表达什么意思)

  • 两个不同品牌的路由器怎么桥接(两个不同品牌的路由器可以组网吗)

    两个不同品牌的路由器怎么桥接(两个不同品牌的路由器可以组网吗)

  • 为什么小红书停止运行(为什么小红书停止营业了)

    为什么小红书停止运行(为什么小红书停止营业了)

  • iphone7怎么设置中文(iPhone7怎么设置壁纸)

    iphone7怎么设置中文(iPhone7怎么设置壁纸)

  • hdmi可以144hz吗(hdmi能不能144)

    hdmi可以144hz吗(hdmi能不能144)

  • b站怎么更换实名认证(b站账号怎么更换实名认证)

    b站怎么更换实名认证(b站账号怎么更换实名认证)

  • 华为手机勿扰模式怎么关(华为手机勿扰模式怎么设置时间)

    华为手机勿扰模式怎么关(华为手机勿扰模式怎么设置时间)

  • win10开机显示正在休眠(win10开机显示正在修复磁盘错误)

    win10开机显示正在休眠(win10开机显示正在修复磁盘错误)

  • iPhone11pro怎么打开个人热点(iphone11pro怎么打开悬浮球)

    iPhone11pro怎么打开个人热点(iphone11pro怎么打开悬浮球)

  • 夸克链信怎么解除实名认证(夸克链信怎么提现)

    夸克链信怎么解除实名认证(夸克链信怎么提现)

  • win10怎么设置gif壁纸(WIN10怎么设置锁屏时间)

    win10怎么设置gif壁纸(WIN10怎么设置锁屏时间)

  • icloud不可用怎么回事(icloud不可用怎么办)

    icloud不可用怎么回事(icloud不可用怎么办)

  • qq群主恢复(qq群主恢复群主)

    qq群主恢复(qq群主恢复群主)

  • 美拍如何剪辑视频(美拍如何剪辑视频教学)

    美拍如何剪辑视频(美拍如何剪辑视频教学)

  • 微信怎么关闭地区显示(微信怎么关闭地区显示2023)

    微信怎么关闭地区显示(微信怎么关闭地区显示2023)

  • jpg格式图片怎么打开(jpg格式图片怎么打印出来)

    jpg格式图片怎么打开(jpg格式图片怎么打印出来)

  • 销售商品返还现金
  • 制造业怎么核算成本
  • 现金流量表财务净现值怎么算
  • 小规模纳税人一个季度多少免税
  • 企业减免税享受什么
  • 资产减值损失有二级科目吗
  • 存货不同入账基数怎么算
  • 金融企业税务稽查案例分析
  • 被投资单位提取盈余公积权益法
  • 打折销售商品会计分录
  • 以前没有计提增值税吗
  • 固定资产发票未到可以确认固定资产吗
  • 没进项发票要交多少税
  • 税种案例分析
  • 工商年检社保缴费基数按什么标准填
  • 建筑企业财务制度及规范流程
  • 固定资产和在建工程占所有者权益的占比
  • 兼职费用计税标准是多少
  • 护建设税和教育费附加?
  • 收到财政奖励扶持资金账务处理?
  • 权益法核算下的顺流交易
  • mac 装 windows
  • 劳务公司开发票,劳务公司怎么转取收入
  • 误删的文件怎么撤回
  • php最新动态
  • 如何清除苹果手机6s垃圾
  • 来料加工方式中,料件和加工后
  • 退休返聘人员报销差旅费
  • 公司处于亏损状态,股东要退股怎么办
  • 捐赠支出税前扣除条件
  • php vld
  • 外籍个人取得的现金住房补贴所得免征个人所得税吗
  • 用java写一个helloworld
  • 金银首饰零售业税负率是多少
  • edge 状态栏
  • echarts简介
  • 车辆购置税发票图片
  • rest for api
  • npm ERR! code ERESOLVEnpm ERR! ERESOLVE could not resolve dependency
  • 企业盈利不交所得税的办法
  • 学电脑的好网站
  • mongodb morphia
  • sql将一列数据变成一行显示
  • 员工差旅费报销会计分录
  • 两处取得收入,如何进行个税的申报?
  • sql server数据
  • 找社保代理公司需要提供什么资料
  • 出口退税会计处理流程
  • 影响债券投资收益率的因素有
  • 教育费附加减免性质代码
  • 异地预缴税款怎么做账
  • 新会计准则印花税需要计提吗
  • 专项资金账务体现不出怎么办
  • 本期预付的费用属于本期费用吗
  • 成品油预付卡销售*成品油卡 怎么入账
  • 公司章程上的出资额怎么填
  • 研发费用属于哪类会计科目
  • 汇算清缴后缴纳所得税会计分录
  • 费用利润率的意思
  • 公对私 预付款 税
  • u盘装好系统后重启无法进入系统
  • ubuntu20.10
  • win7删除搜索历史记录
  • mac锁定快捷键
  • Win10系统安装包
  • mac验证码无法显示怎么办
  • pax是什么文件
  • win7纯净版和正版区别
  • 如何搭建环境变量
  • ubuntu安装选哪个
  • shell脚本函数及传参
  • cmd中文名称
  • android 中 EditText加入图标 更改边框颜色 设置透明
  • 蛋哥的日常
  • 湖南税务发票查验平台官网
  • 留抵税额可以留抵多久
  • 全国残疾人工作先进个人
  • 12366纳税服务热线存在的问题
  • 上海浦东税务网站官网
  • 烟叶税计税依据是收购烟叶实际支付的价款总额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设