xgboost优点

  • 正则化
  • 并行处理?
  • 灵活性,支持自定义目标函数和损失函数,二阶可导
  • 缺失值的处理
  • 剪枝,不容易过拟合
  • 内置了交叉验证

参数的设置

params = {'booster': 'gbtree',            'objective': 'multi:softmax',  # 多分类的问题'num_class': 10,               # 类别数,与 multisoftmax 并用'gamma': 0.1,                  # 用于控制是否后剪枝的参数,越大越保守,一般0.1、0.2这样子。'max_depth': 12,               # 构建树的深度,越大越容易过拟合'lambda': 2,                   # 控制模型复杂度的权重值的L2正则化项参数,参数越大,模型越不容易过拟合。'subsample': 0.7,              # 随机采样训练样本'colsample_bytree': 0.7,       # 生成树时进行的列采样'min_child_weight': 3,'silent': 1,                   # 设置成1则没有运行信息输出,最好是设置为0.'eta': 0.007,                  # 如同学习率'seed': 1000,'nthread': 4,                  # cpu 线程数
}

  • booster 默认是gbtree ,gblinear
  • slient 0是打印运行时的信息,1代表缄默方式运行
  • nthread 运行的线程数
  • num_pbuffer 缓存区的大小,训练实例的数目,不需要人为进行设置
  • num_feature 特征的个数,自动进行设置

##############################################################################

  • eta 防止过拟合的更新步长 0.3
  • gamma 默认为0
  • max_depth 6 树的最大深度
  • min_child_weight 默认是1 ,孩子节点中最小样本的权重之和,小于该值,拆分结束
  • max_delta_step 0 每个数的权重被估计的值。通常设置为0,没有约束。正数,跟新的过程更加保守,Lr中。样本不均衡,可以设置为大于0的数
  • subsample 【depault=1】 训练模型的子样本占整个样本集合的比例。防止过采样
  • colsample_btree 1 特征的采样比例

#################################################################################

  • lambda 正则化l2的惩罚系数
  • alpha l1正则化的惩罚系数
  • lambda_bias 在偏智上的L2正则

#################################################################################

  • objective [ default=reg:linear ]
    定义学习任务及相应的学习目标,可选的目标函数如下:

    • “reg:linear” —— 线性回归。
    • “reg:logistic”—— 逻辑回归。
    • “binary:logistic”—— 二分类的逻辑回归问题,输出为概率。
    • “binary:logitraw”—— 二分类的逻辑回归问题,输出的结果为wTx。
    • “count:poisson”—— 计数问题的poisson回归,输出结果为poisson分布。在poisson回归中,max_delta_step的缺省值为0.7。(used to safeguard optimization)
    • “multi:softmax” –让XGBoost采用softmax目标函数处理多分类问题,同时需要设置参数num_class(类别个数)
    • “multi:softprob” –和softmax一样,但是输出的是ndata * nclass的向量,可以将该向量reshape成ndata行nclass列的矩阵。没行数据表示样本所属于每个类别的概率。
    • “rank:pairwise” –set XGBoost to do ranking task by minimizing the pairwise loss
  • base_score [ default=0.5 ]

    • 所有实例的初始化预测分数,全局偏置;
    • 为了足够的迭代次数,改变这个值将不会有太大的影响。
  • eval_metric [ default according to objective ]

    • 校验数据所需要的评价指标,不同的目标函数将会有缺省的评价指标(rmse for regression, and error for classification, mean average precision for ranking)-
    • 用户可以添加多种评价指标,对于Python用户要以list传递参数对给程序,而不是map参数list参数不会覆盖’eval_metric’
    • 可供的选择如下:
      • “rmse”: root mean square error
      • “logloss”: negative log-likelihood
      • “error”: Binary classification error rate. It is calculated as #(wrong cases)/#(all cases). For the predictions, the evaluation will regard the instances with prediction value larger than 0.5 as positive instances, and the others as negative instances.
      • “merror”: Multiclass classification error rate. It is calculated as #(wrongcases)#(allcases).
      • “mlogloss”: Multiclass logloss
      • “auc”: Area under the curve for ranking evaluation.
      • “ndcg”:Normalized Discounted Cumulative Gain
      • “map”:Mean average precision
      • “ndcg@n”,”map@n”: n can be assigned as an integer to cut off the top positions in the lists for evaluation.
      • “ndcg-“,”map-“,”ndcg@n-“,”map@n-“: In XGBoost, NDCG and MAP will evaluate the score of a list without any positive samples as 1. By adding “-” in the evaluation metric XGBoost will evaluate these score as 0 to be consistent under some conditions. training repeatively
  • seed [ default=0 ]
    • 随机数的种子。缺省值为0

章华燕:史上最详细的XGBoost实战​zhuanlan.zhihu.com

参数调整

确定boosting参数,预先设定其他参数的初始值

max_depth = 5
min_child_weight = 1
gamma = 0
subsample,colsample_bytree = 0.8
scale_pos_weight = 1
cv 确定 n_estimators

网格搜索确定max_depth 和min_child_weight

确定gamma参数的调优

调整subsample和colsample_bytree 的参数

正则化参数的调优

降低学习速率

Dukey:【转】XGBoost参数调优完全指南(附Python代码)​zhuanlan.zhihu.com

xgboost参数_XGBoost实战和参数详解相关推荐

  1. python 命令-python解析命令行参数的三种方法详解

    这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...

  2. php判断参数_php检查函数必传参数是否存在的实例详解

    php检查函数必传参数是否存在的实例详解 在php实际编程中,接口经常会接收到前端传来的参数,其中有些参数不是必传的,有些参数是必传的,如何"检查函数必传参数是否存在"呢?为了解决 ...

  3. isight参数优化理论与实例详解_案例1(ISIGHT集成ADAMS CAR方法实现)

    本文字数1304字25图,建议阅读时间7分钟 强调一下是ISIGHT,不是INSIGHT INSIGHT是ADAMS内置的一个试验设计模块,它提供了一组统计工具,用于分析仿真结果,辅助优化和改进系统 ...

  4. python训练模型函数参数_keras读取训练好的模型参数并把参数赋值给其它模型详解...

    介绍 本博文中的代码,实现的是加载训练好的模型model_halcon_resenet.h5,并把该模型的参数赋值给两个不同的新的model. 函数式模型 官网上给出的调用一个训练好模型,并输出任意层 ...

  5. Elasticsearch实战——function_score 查询详解

    Elasticsearch实战--function_score 查询详解 文章目录 Elasticsearch实战--function_score 查询详解 1. function_score简介 2 ...

  6. HMI智能串口屏——在STM32开发板上的实战应用及其详解

    HMI智能串口屏--在STM32开发板上的实战应用及其详解 一.HMI智能串口屏使用步骤 二.附录 一.HMI智能串口屏使用步骤 安装USART HMI软件 (一般买的串口屏里面,商家送的资料里面都有 ...

  7. python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  8. springMVC注解中@RequestMapping中常用参数value params 以及@RequestParam 详解

    转载自 https://blog.csdn.net/qq_35067322/article/details/52811300?locationNum=9&fps=1 https://www.c ...

  9. Pytest参数选项自由执行测试用例详解(二)

    运行pytest可以指定目录和文件,如果不指定,pytest会搜索当前目录及其子目录中以test_开头或以_test结尾得测试函数.我们把pytest搜索测试文件和测试用例的过程称为测试搜索(test ...

最新文章

  1. 正余弦定理解三角形习题
  2. 第二次打开不是最大_“相亲失败,也许不是坏事”
  3. 啦啦啦 啦啦 啦 啦 啦 啦啦 啦 啦 啦
  4. model.parameters(),model.state_dict(),model .load_state_dict()以及torch.load()
  5. 【招聘(北京)】东方国信 工业互联网
  6. Mysql数据导入导出
  7. keras实现简单lstm_深度学习(LSTM)在交通建模中的应用
  8. 学习Python不需要程基础?
  9. DirectX9.03D Direct3D初始化
  10. 能翻译整篇论文的软件有什么?
  11. 【DIY贴片机】基于opencv识别定位电子元件
  12. CVTE软件技术支持面试总结
  13. 基于组态软件的35kV变电站监控系统设计简介
  14. 耿建超英语语法---陈述句(1)
  15. 一张纸的厚度是0.0001米,将纸对折,问对折多少次厚度超过珠穆朗玛峰8848米
  16. TensorFlow在win10上安装--精简教程
  17. 音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
  18. Mysql的远程连接设置
  19. 混合波束成形|进阶:深入浅出混合波束赋形
  20. undefined is not a function

热门文章

  1. 地图定位的坐标和mapview中显示的当前位置信息不一致
  2. Python通过LDAP验证、查找用户(class,logging)
  3. 深入理解CSS六种颜色模式
  4. C# 输出目录结构树到Console或文本文件
  5. 靠一平台构建核心指标系统,数据分析让业务运营效率提升90%
  6. 我就拜你为师的飞秋爱好者
  7. SQL中的表 与关系数据库
  8. 飞秋 包括《java就业培训课程》
  9. 飞鸽传书谈哈希表之数学原理
  10. 突破C++的虚拟指针--C++程序的缓冲区溢出攻击