XGBoost、LightGBM参数讲解及实战
本文链接:https://blog.csdn.net/linxid/article/details/80785131
XGBoost
一、API详解
xgboost.XGBClassifier
1.1 参数
1.1.1 通用参数:
booster=‘gbtree’ 使用的提升数的种类 gbtree, gblinear or dart
silent=True: 训练过程中是否打印日志
n_jobs=1: 并行运行的多线程数
1.1.2 提升树参数
learning_rate=0.1: 训练的学习率,和梯度下降差不多
max_depth=3: 树的最大深度
gamma=0
n_estimators=100: 要拟合的树的棵树,可以认为是训练轮数
min_child_weight=1: 叶结点的最小权重
subsample=1: 训练样本的抽样比率,行索引
colsample_bytree=1: 特征的抽样比率,列索引
reg_alpha=0: L1正则化系数
reg_lambda=1: L2正则化系数
1.1.3 学习任务参数
objective=‘binary:logistic’ 确定学习任务和相应的学习函数
"reg:linear" -线性回归
"reg:logistic" -逻辑回归
"binary:logistic" -二分类逻辑回归,输出概率
"binary:logitraw" -二分类逻辑回归,输出未logistic变换前的得分
"multi:softmax"
"multi:softprob"
random_state=0: 随机种子数
missing=None: 缺失值处理办法
max_delta_step=0,
colsample_bylevel=1
scale_pos_weight=1,
base_score=0.5,
nthread=None: 弃用,改用n_jobs
seed=None:弃用,改用random_state
1.1.4 控制过拟合:
降低模型复杂度:max_depth, min_child_weight and gamma
对样本随机采样:subsample, colsample_bytree
降低学习率,同时相应提高训练轮数
1.2 方法:
1.2.1 fit
X: 特征矩阵
y: 标签
sample_weight=None: 没一个样本的权重
eval_set=None: (X,y)验证集,用于检测提前结束训练
eval_metric=None: 评价指标
"rmse"
"mae"
"logloss"
"error":二分类错误率,阈值是0.5
"error@t":和error类似,阈值为t
"mlogloss"
"auc"
early_stopping_rounds=None: 提前结束轮数
verbose=True,
xgb_model=None,
sample_weight_eval_set=None
1.2.2 predict(data, output_margin=False, ntree_limit=0)
返回预测类别,数据类型np.array,阈值不好控制
1.2.3 predict_proba(data, ntree_limit=0)
预测每一个数据,成为给定类别的概率
二、实例学习如何使用Xgboost
https://github.com/dmlc/xgboost/tree/master/demo
LightGBM
一、API详解
lightgbm.LGBMClassifier
参数 XGBoost CatBoost Lightgbm
模型参数 boosting_type=‘gbdt’(gbdt,dart,goss,rf)
num_leaves=31
max_depth=-1(no limit)
n_estimators=100
learning_rate=0.1
objective=(regression,binary/multiclass)
class_weight=()
subsample=1 训练样本采样率(行)
colsample_bytree=1 训练特征采样率(列)
lambda_l1=0:L1正则化系数
lambda_l2=0.0: L2正则化系数
random_state=None: 随机种子数
n_jobs=-1: 多线程数
max_bin=255
metric
fit X,y
eval_set=None([(X_train, y_train), (X_valid, y_valid)])
early_stopping_rounds=None
categorical_feature=‘auto’
verbose=True
eval_metric=None
metrics l1/mae
l2/mse(regression)
l2_root/rmse
binary_logloss(bi-classification)
auc
multi_logloss
参考资料:
1. XGBoost和LightGBM的参数以及调参
2. Xgboost参数调优的完整指南及实战
3. LightGBM调参笔记
4. LightGBM 调参方法(具体操作)
————————————————
版权声明:本文为CSDN博主「linxid」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/linxid/article/details/80785131
XGBoost、LightGBM参数讲解及实战的更多相关文章
- XGBoost 重要参数(调参使用)
XGBoost 重要参数(调参使用) 数据比赛Kaggle,天池中最常见的就是XGBoost和LightGBM. 模型是在数据比赛中尤为重要的,但是实际上,在比赛的过程中,大部分朋友在模型上花的时间却 ...
- RF/GBDT/XGBoost/LightGBM简单总结(完结)
这四种都是非常流行的集成学习(Ensemble Learning)方式,在本文简单总结一下它们的原理和使用方法. Random Forest(随机森林): 随机森林属于Bagging,也就是有放回抽样 ...
- R︱Yandex的梯度提升CatBoost 算法(官方述:超越XGBoost/lightGBM/h2o)
俄罗斯搜索巨头 Yandex 昨日宣布开源 CatBoost ,这是一种支持类别特征,基于梯度提升决策树的机器学习方法. CatBoost 是由 Yandex 的研究人员和工程师开发的,是 Matri ...
- RF,GBDT,XGBoost,lightGBM的对比
转载地址:https://blog.csdn.net/u014248127/article/details/79015803 RF,GBDT,XGBoost,lightGBM都属于集成学习(Ensem ...
- Opencv+Yolov3算法实现社交距离安全检测讲解和实战(Social Distance Detector)
在我们进行交流谈话时,人与人之间总要保持一定的距离,尤其是在疫情的情况下,人与人之间更要保持一定的安全距离,今天给大家来介绍一个检测社交距离的项目,实现社交距离检测器. 社交距离(Social Dis ...
- (万字好文)Dubbo服务熔断与降级的深入讲解&代码实战
原文链接:(万字好文)Dubbo服务熔断与降级的深入讲解&代码实战 一.Dubbo服务降级实战 1 mock 机制 谈到服务降级,Dubbo 本身就提供了服务降级的机制:而 Dubbo 的服务 ...
- android ui界面设计参数讲解
百度文库: http://wenku.baidu.com/link?url=s66Hw6byBEzmjL77doYL1YQN4Y_39F7MovaHKs5mVGrzTDOQCAmiM-1N_6Cdm- ...
- XGBoost中参数调整的完整指南(包含Python中的代码)
(搬运)XGBoost中参数调整的完整指南(包含Python中的代码) AARSHAY JAIN, 2016年3月1日 介绍 如果事情不适合预测建模,请使用XGboost.XGBoost算法已 ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_40、Redis工具类封装讲解和实战
笔记 4.Redis工具类封装讲解和实战 简介:高效开发方式 Redis工具类封装讲解和实战 1.常用客户端 https://redisdesktop.com/download ...
随机推荐
- Shell—输入输出重定向
大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端.同样,一个命令通常将其输出写入到标准输出,默 ...
- AcWing 46. 二叉搜索树的后序遍历序列
地址 https://www.acwing.com/solution/acwing/content/3959/ 题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果. 如果是则返回t ...
- pytroch中cp27m和cp27mu的区别及判别方法
python中m和mu的区别 从https://download.pytorch.org/whl中下载pytorch安装包时常会发现有相同版本的安装包有cp27m和cp27mu两种,其中cp27m是u ...
- autocad2014一直显示正在检查许可
64位CAD2014安装成功后启动时在检查许可卡住的解决方法,以下方法经本人测试,真实可行.1.下载CCcleaner.2.将CCcleaner设置成中文版,英文好的继续第三步.(设置方法:选项opt ...
- 我的前端架构(jquery)汇总
目录 我的前端架构之一--页面作用域 我的前端架构之二--统一扩展Js方法 我的前端架构之三 -- 页面规范 我的前端架构之四 -- UI控件 我的前端架构之五 -- 一些方案实现 判断对象是否是 e ...
- js ajax设置和获取自定义header信息的方法总结
目录 1.js ajax 设置自定义header 1.1 方法一: 1.2 方法二: 2.js ajax 获取请求返回的response的header信息 3.js ajax 跨域请求的情况下获取自定 ...
- [转]在.NET Core 2.x中将多个强类型设置实例与命名选项一起使用
自1.0版之前,ASP.NET Core已使用“ 选项”模式配置强类型设置对象.从那时起,该功能获得了更多功能.例如,引入了ASP.NET Core 1.1 IOptionsSnapshot,它允许您 ...
- Redis系列---redis简介01
一. 本章我们将用简短的几句话来帮助你快速的了解什么是redis,初学者不必深究 1 Redis简介 Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写 ...
- C#排序案例
using System; namespace 排序案例 { class Program { static void Main(string[] args) { //定义随机数列 int a, b, ...
- 脚本自动统计安卓log中Anr、Crash等出现的数量(Python)
作为测试,在测试工作中一定会经常抓log,有时log收集时间很长,导致log很大,可能达到几G,想找到能打开如此大的log文件的工具都会变得困难:即使log不大时,我们可以直接把log发给开发同学去分 ...