博主最近为了准备校招猛看有关gbdt的算法细节,有一个百思不得其解的疑惑,就是xgboost在处理二分类问题时,返回的预测值是0~1之间的概率值,莫非和logistic function有关?

最终,我查阅了xgboost官网的介绍,得到了一些答案。在这里,具体原理我就不讲了,网上一大堆资料写烂了(具体原理请看这篇文章),我说几个容易忽视的地方。

1.叶子是以什么指标决定是否分裂的?

一开始,在网上看资料说xgboost用到的都是CART回归树,自然而言就以为,解决分类问题用到时gini系数,回归问题用的是均方差,实际根本不是这回事!

首先,我们的obj经过一系列化简得到

这里

这个obj代表了每棵树的要优化的最终目标,应该越小越好。我们前面得到了t-1个函数模型(树),我们要构建第t个模型(树)时,只要求前t-1函数的一阶和二阶导数和前t-1的函数模型的乘积即可。这里的可以控制叶子节点的个数,继而控制模型复杂度,提高范化能力。

那么,如何分裂呢???

大概就是这个公式了:

算分数,分数正的就分裂吧。。。或是可以设置阈值?whatever。

2.二分类问题最后咋得到的概率?

比如,得到树模型后,输入一个原始数据,经过n个数打分,残差相加,得到的数值要经过logictic function映射,然后就得到概率值了。

3.多分类问题咋处理的?

当然是用softmax函数喽,具体细节,看源码吧。。

xgboost处理二分类问题原理相关推荐

  1. libsvm回归参数寻优cgp_【lightgbm/xgboost/nn代码整理二】xgboost做二分类,多分类以及回归任务...

    1.简介 该部分是代码整理的第二部分,为了方便一些初学者调试代码,作者已将该部分代码打包成一个工程文件,包含简单的数据处理.xgboost配置.五折交叉训练和模型特征重要性打印四个部分.数据处理部分参 ...

  2. 感知机(Perceptro)二分类算法原理学习小结记录

    感知机是非常古老的一个二分类算法,原理非常简单,直观地来说,对于平面上的两类数据点,找到一条直线来将其划分开来,对于空间中的点,用一个平面来将两部分完全划分开,这样的数据都是线性可分的,也就是在平面或 ...

  3. python实现二分类_感知器做二分类的原理及python numpy实现

    本文目录: 1. 感知器 2. 感知器的训练法则 3. 梯度下降和delta法则 4. python实现 1. 感知器[1] 人工神经网络以感知器(perceptron)为基础.感知器以一个实数值向量 ...

  4. 神经网络系列之五 -- 线性二分类的方法与原理

    https://www.cnblogs.com/woodyh5/p/12101581.html 系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击s ...

  5. 深入解析GBDT二分类算法(附代码实现)

    目录: GBDT分类算法简介 GBDT二分类算法 2.1 逻辑回归的对数损失函数 2.2 GBDT二分类原理 GBDT二分类算法实例 手撕GBDT二分类算法 4.1 用Python3实现GBDT二分类 ...

  6. 深入理解GBDT二分类算法

    我的个人微信公众号: Microstrong 微信公众号ID: MicrostrongAI 微信公众号介绍: Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关 ...

  7. 二分类最优阈值确定_机器学习 | 详解GBDT在分类场景中的应用原理与公式推导...

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第31篇文章,我们一起继续来聊聊GBDT模型. 在上一篇文章当中,我们学习了GBDT这个模型在回归问题当中的原理.GBD ...

  8. 机器学习Sklearn实战——梯度提升树二分类原理

    一.算法使用 (一)创建 (二)参数调整 cross_val_score:求单一参数最合适的值(KNN) GridSearchCV网格搜索:多参数组合最优的值 标准:准确率,精确率,召回率,F1 (三 ...

  9. ML之xgboost:利用xgboost算法对breast_cancer数据集实现二分类预测并进行graphviz二叉树节点图可视化

    ML之xgboost:利用xgboost算法对breast_cancer数据集实现二分类预测并进行graphviz二叉树节点图可视化 目录 实现结果 实现代码 实现结果

最新文章

  1. Java IO流之随机读写流RandomAccessFile
  2. 使用JProfiler查看GC Roots
  3. vue子组件改变父组件的值
  4. java虚拟机的俩种异常
  5. MATLAB-矩阵基本语法知识
  6. yaml,json,ini这三种格式用来做配置文件优缺点
  7. IntelliTrace 调试、定位异常
  8. 【转】c#中@的3种作用
  9. css选择指定class的元素
  10. zeroc ice的概念、组成与服务
  11. 魔兽世界python脚本拍卖行_Python大法之告别脚本小子系列—信息资产收集类脚本编写(上)...
  12. 在64位机器上无法调用迅雷的问题
  13. c语言中基本数据类型printf()对应格式
  14. centos7安装tomcat8
  15. uniapp 获取时间戳
  16. H264、H265编码概念及I帧P帧B帧
  17. 曾国藩-200句名言归纳
  18. ppt画图画不下——调整ppt页面的大小
  19. 训练faster rcnn报错:KeyError:‘max_overlaps’
  20. Html手机web背景全屏,使用全屏背景的网页设计欣赏 全屏网页背景教程

热门文章

  1. C#程序设计--Parse函数的用法
  2. Java 连接Access数据库
  3. 打开图像文件和编辑 ENVI 文件头
  4. 【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用
  5. 汽车 - 数据交换格式
  6. UE4 BSP画刷知识点
  7. Low-Code,一定“low”吗?
  8. java pdf数字签名_使用pdfbox的数字签名
  9. 第3关:函数的使用范围:Python 作用域
  10. 2021倒计时三天了,你的个人年终工作总结报告准备好了咩?