XGBoost简介
XGBoost(eXtreme Gradient Boosting)是一种基于梯度提升(Gradient Boosting)的集成学习方法,它通过构建多棵回归树来进行预测。每棵树都根据之前所有树的误差进行建立,通过多轮迭代,逐步缩小误差。XGBoost使用了一种特殊的目标函数,该函数包含了预测误差(如平方损失)和正则化项(用于防止过拟合)。
2025年09月04日
XGBoost(eXtreme Gradient Boosting)是一种基于梯度提升(Gradient Boosting)的集成学习方法,它通过构建多棵回归树来进行预测。每棵树都根据之前所有树的误差进行建立,通过多轮迭代,逐步缩小误差。XGBoost使用了一种特殊的目标函数,该函数包含了预测误差(如平方损失)和正则化项(用于防止过拟合)。
2025年09月04日
图源:pixabay
原文来源:towardsdatascience
作者:Alvira Swalin
「雷克世界」编译:EVA
我最近参加了Kaggle竞赛(WIDS Datathon),在那里我通过使用各种各样的Boosting算法而进入前10名。从那时起,我一直对每个模型精细的工作,包括参数调优、优缺点,都非常好奇,因此决定写下这篇文章。尽管最近神经网络重新出现并流行,我还是着重关注Boosting算法,因为它们在训练数据有限、训练时间少、专业知识少的参数调优体系中仍然能够发挥很大的作用。
2025年09月04日
1.引入几个“空间”的概念
为了描述方便,先引入几个关于“空间”的概念,它们在统计学中是通用概念。本合集第一篇文章举了一个房产销售的例子,延续这个例子:
上图中共有6条销售记录,称为6个样本(或样本点),每个样本有4个特征。根据样本的特征,可以构建一个输入空间,虽然样本很少,但是输入空间很庞大,因为地段可能还有一环和二环,面积可能从30平米到1000平米等,显然输入空间是比样本记录大的多的集合。
2025年09月04日
在本合集的上一篇文章完成了目标函数的泰勒展开,得到了形如(4)式的函数:
接下来,求其最小值。
1.(4)式的变体
先引入几个新的变量和函数定义:
Ij:若特征空间X存在划分I1, I2,…,Im 则 Ij 是该划分的一项,即X的第j个子集。对于XGBoost树,Ij包含且只包含所有映射到某一个叶子节点的特征值。
q(xi):一个以特征空间为出发域,以叶子节点索引值为到达域的映射,即给定一个输入项xi,得到一个叶子节点的索引。
2025年09月04日
在合集的上一篇文章介绍了XGBoost的目标函数(1)式:
本文推导(1)式的二阶泰勒展开过程。
1.目标函数为什么要进行二阶泰勒展开
要计算sin23应该怎么做?
当然是首先将其展开为麦克老林级数:
此时,将23代入,就方便多了。尤其对编程而言,这几乎是唯一合适的算法。
为什么是二阶泰勒展开而不是三阶?
因为二阶已经够用了,三阶反而增加了计算量。一阶导数向模型指示梯度(方向)信息,明确模型的下一步调整方向;二阶导数向模型指示变化速率信息,让模型的调整既不能龟速也不能超速。
2025年09月01日
SQL是大数据从业者的必备技能,大部分的大数据技术框架也都提供了SQL的解决方案。可以说SQL是一种经久不衰、历久弥新的编程语言。尤其是在数仓领域,使用SQL更是家常便饭。
2025年09月01日
VBA SQL优化方案(兼容特殊部门排序)
优化说明
原SQL需解决 “销售部类部门排序在一起” 的问题(如东区、北区、南区、山东、西区销售部),同时保持序号生成规则不变。由于VBA SQL不支持`CASE WHEN`,采用 “辅助排序字段+简单字符串匹配” 实现,具体逻辑如下:
优化后VBA SQL代码
2025年09月01日
对SQL排序,只要在order by后面加字段就可以了,可以通过加desc或asc来选择降序或升序。但排序规则是默认的,数字、时间、字符串等都有自己默认的排序规则。有时候需要按自己的想法来排序,而不是按字段默认排序规则。
比如字段值为英文字段:Monday、Tuesday、Wednesday等,如果按字段默认排序规则就为: