Python28-10 LightGBM对乳腺癌数据集进行分类

图片

LightGBM(Light Gradient Boosting Machine)是一个梯度提升框架,由微软开发。它用于机器学习中的分类、回归和排序等任务,特别适合处理大规模数据和高维特征。LightGBM的核心是梯度提升决策树(GBDT)算法,但它在此基础上做了多种优化,使其在速度和内存使用方面优于传统的GBDT实现。LightGBM的数学原理基于梯度提升决策树(Gradient Boosting Decision Trees, GBDT),而GBDT本身是一个集成学习算法。

1. 梯度提升决策树(GBDT)

GBDT是通过逐步构建多个决策树,并通过每棵树来纠正前一棵树的错误。具体而言:

  • 初始模型:通常从一个简单的模型开始,比如预测所有样本的平均值。

  • 残差计算:计算当前模型的残差(即预测值与真实值之间的差异)。

  • 决策树训练:训练一棵新的决策树来拟合残差。

  • 模型更新:将新决策树的预测值加到当前模型中。

每次迭代的公式为:

其中:

  • 是第 次迭代的模型。

  • 是学习率,控制每棵树对最终模型的贡献。

  •  是第 棵决策树的预测值。

2. LightGBM的改进

LightGBM在GBDT的基础上做了许多优化,以提高训练速度和效率:

(1) 基于直方图的算法

传统的GBDT每次分裂节点时都要对所有特征值进行排序,时间复杂度较高。LightGBM通过将连续特征值离散化成直方图的形式来加速分裂过程。具体步骤如下:

  • 构建直方图:将特征值划分成多个bin(桶)。

  • 统计每个bin中的样本数量和目标值的总和

  • 选择最佳分裂点:在直方图的基础上计算各个分裂点的增益,选择增益最大的分裂点。

(2) 带深度限制的叶子增长策略

LightGBM采用了一个叫做“Leaf-wise”的策略,而不是传统的“Level-wise”策略:

  • Level-wise:按层次生长,每层增加一层深度。

  • Leaf-wise:每次选择增益最大的叶子进行分裂。

Leaf-wise策略能够更好地减少损失,但容易导致不平衡的树结构。为此,LightGBM引入了最大深度限制,以防止过拟合。

3. 数学公式与损失函数

LightGBM的目标是最小化损失函数,一般情况下使用平方误差或交叉熵损失。以平方误差为例,损失函数为:

其中:

  • 是第 个样本的真实值。

  • 是模型的预测值。

在每次迭代中,通过计算损失函数的负梯度作为残差,来训练下一棵决策树。这一过程可以看作是用梯度下降法来优化模型参数。

LightGBM通过多种优化方法(如基于直方图的分裂、Leaf-wise的增长策略等),在保留GBDT强大预测能力的同时,提高了训练速度和效率。这些优化方法的数学原理相对复杂,但总体思路仍然是基于梯度提升决策树的框架。

LightGBM的Python实例

我们选择乳腺癌数据集,乳腺癌数据集包含了569个样本,每个样本都有30个特征。这些特征主要描述了细胞核的特性(如半径、质地、周长、面积等),目标变量是样本是否为恶性肿瘤(标记为1)或良性肿瘤(标记为0)。

图片

import lightgbm as lgb  # 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值