程序员必知:XGB算法梳理

简介: 程序员必知:XGB算法梳理

学习内容:

1.CART树

2.算法原理

3.损失函数

4.分裂结点算法

5.正则化

6.对缺失值处理

7.优缺点

8.应用场景

9.sklearn参数

1.CART树

  CART算法是一种二分递归分割技术,把当前样本划分为两个子样本,使得生成的每个非叶子结点都有两个分支,因此CART算法生成的决策树是结构简洁的二叉树。由于CART算法构成的是一个二叉树,它在每一步的决策时只能是“是”或者“否”,即使一个feature有多个取值,也是把数据分为两部分。在CART算法中主要分为两个步骤

将样本递归划分进行建树过程

用验证数据进行剪枝

2.算法原理

  输入:训练数据集DDD,停止计算的条件;

  输出:CART决策树。

  根据训练数据集,从根结点开始,递归地对每个结点进行一下操作,构建二叉决策树:

  1)设结点的训练数据集为DDD,计算现有特征对该点数据集的基尼指数。此时,对每个特征A,对其可能取的每个值aaa,根据样本点计算对A=aA=aA = a的测试为“是”或“否”讲DDD分割成D1D1D_1和D2D2D_2两部分,计算A=aA=aA = a时的基尼指数。

  2)在所有 可能的特征AAA以及他们所有可能的切分点aaa中,选择基尼指数最小的特征及其对应的切分点作为最优切分点,依最有特征与最优切分点,从现结点生成两个子结点,将训练数据集依特征分配到两个子结点中去。

  3)对两个子结点递归地调用1),2),直至满足停止条件。

  4)生成CART决策树。

3.损失函数

  L=∑xi≤Rm(yi?f(xi))2+K∑i=1Ω(fk)L=∑xi≤Rm(yi?f(xi))2+∑i=1KΩ(fk)L = \sum\limits_{x_i \leq R_m}//代码效果参考:http://www.ezhiqi.com/zx/art_7490.html (y_i - f(xi))^2 + \sum\limits{i=1}^K \Omega (f_k)

4.分裂结点算法

  使用基尼指数用于分裂结点的依据

  概率分布的基尼指数定义为:Gini(p)=K∑k=1pk(1?pk)=1?K∑k=1p2kGini(p)=∑k=1Kpk(1?pk)=1?∑k=1Kpk2Gini(p) = \sum\limits_{k=1}^K p_k (1-pk) = 1 - \sum\limits{k=1}^K p_k^2

  如果样本那集合D根据特征A是否取某一可能值aaa被分割成D1D1D_1和D2D2D_2两部分,即D1={<span class="mjx-char MJXc-TeX-main-R" style="padding-to

目录
打赏
0
0
0
0
32
分享
相关文章
DeepSeek加持的通义灵码2.0 AI程序员实战案例:助力嵌入式开发中的算法生成革新
本文介绍了通义灵码2.0 AI程序员在嵌入式开发中的实战应用。通过安装VS Code插件并登录阿里云账号,用户可切换至DeepSeek V3模型,利用其强大的代码生成能力。实战案例中,AI程序员根据自然语言描述快速生成了C语言的base64编解码算法,包括源代码、头文件、测试代码和CMake编译脚本。即使在编译错误和需求迭代的情况下,AI程序员也能迅速分析问题并修复代码,最终成功实现功能。作者认为,通义灵码2.0显著提升了开发效率,打破了编程语言限制,是AI编程从辅助工具向工程级协同开发转变的重要标志,值得开发者广泛使用。
8167 69
DeepSeek加持的通义灵码2.0 AI程序员实战案例:助力嵌入式开发中的算法生成革新
每个程序员都应该知道的 6 种负载均衡算法
每个程序员都应该知道的 6 种负载均衡算法
769 2
程序员必看!Python复杂度分析全攻略,让你的算法设计既快又省内存!
在编程领域,Python以简洁的语法和强大的库支持成为众多程序员的首选语言。然而,性能优化仍是挑战。本文将带你深入了解Python算法的复杂度分析,从时间与空间复杂度入手,分享四大最佳实践:选择合适算法、优化实现、利用Python特性减少空间消耗及定期评估调整,助你写出高效且节省内存的代码,轻松应对各种编程挑战。
156 1
程序员常用算法详细讲解
每一种算法都有其适用场景,了解并熟悉这些常用算法的策略和实现,对于解决实际编程问题具有重要的意义。需要注意的是,理论知识的重要性虽然不言而喻,但真正的理解和掌握,还需要在实践中不断地尝试和错误,以达到深入理解的目的。
81 1
程序员必须掌握的算法
作为一名程序员,掌握一些重要的算法是必不可少的。算法是解决问题的方法和步骤,对于程序员来说,熟悉和掌握一些常见的算法可以提高编程能力,解决复杂的计算问题。与此同时,算法是计算机科学中的核心概念,对于程序员来说,掌握一些基本的算法是非常重要的。
74 1
程序员必知:《程序设计与算法(二)算法基础》《第一周枚举》熄灯问题POJ
程序员必知:《程序设计与算法(二)算法基础》《第一周枚举》熄灯问题POJ
57 0
【redis源码学习】持久化机制,java程序员面试算法宝典pdf
【redis源码学习】持久化机制,java程序员面试算法宝典pdf
基于和声搜索优化算法的机器工作调度matlab仿真,输出甘特图
本程序基于和声搜索优化算法(Harmony Search, HS),实现机器工作调度的MATLAB仿真,输出甘特图展示调度结果。算法通过模拟音乐家即兴演奏寻找最佳和声的过程,优化任务在不同机器上的执行顺序,以最小化完成时间和最大化资源利用率为目标。程序适用于MATLAB 2022A版本,运行后无水印。核心参数包括和声记忆大小(HMS)等,适应度函数用于建模优化目标。附带完整代码与运行结果展示。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等