码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 集成学习进阶


    16. 集成学习进阶

    文章目录

      • 16. 集成学习进阶
        • 16.1 xgboost算法原理
          • 16.1.1 目标函数
          • 16.1.2 回归树构建方法
          • 16.1.3 XGBoost与GDBT的区别
        • 16.2 xgboost算法api
          • 16.2.1 参数
        • 16.3 lightGBM
          • 16.3.1 演进过程
          • 16.3.2 原理(优势)
        • 16.4 lightGBM API
          • 16.4.1 参数
          • 16.4.2 调参建议

    16.1 xgboost算法原理

    16.1.1 目标函数

    • 在这里插入图片描述

    16.1.2 回归树构建方法

    • 在这里插入图片描述

    16.1.3 XGBoost与GDBT的区别

    • 区别一

      • XGBoost生成CART树考虑了树的复杂度
      • GDBT未考虑,GDBT在树的剪枝步骤中考虑了树的复杂度
    • 区别二

      • XGBoost是拟合上一轮损失函数的二阶导展开,GDBT是拟合上一轮损失函数的一阶导展开,因此,XGBoost的准确性更高,且满足相同的训练效果,需要的迭代次数更少
    • 区别三

      • XGBoost与GDBT都是逐次迭代来提高模型性能,但是XGBoost在选取最佳切分点时可以开启多线程进行,大大提高了运行速度

    16.2 xgboost算法api

    pip3 install xgboost

    16.2.1 参数

    • 通用参数(general parameters)

      • 宏观函数控制

      • booster [缺省值=gbtree]

        • 决定使用哪个booster,可以是gbtree,gblinear或者dart
      • silent [缺省值=0]

        • 设置为0打印运行信息;设置为1静默模式,不打印
      • nthread [缺省值=设置为最大可能的线程数]

        • 并行运行xgboost的线程数
      • num_pbuffer [xgboost自动设置,不需要用户设置]

        • 预测结果缓存大小
      • num_feature [xgboost自动设置,不需要用户设置]

        • 在boosting中使用特征的维度,设置为特征的最大维度
    • Booster 参数(booster parameters)

      • 用于控制每一步的booster(tree, regressiong)

      • Tree Booster

        • eta [缺省值=0.3,别名:learning_rate]

          • 更新中减少的步长来防止过拟合
        • gamma [缺省值=0,别名: min_split_loss](分裂最小loss)

          • Gamma指定了节点分裂所需的最小损失函数下降值
        • max_depth [缺省值=6]

          • 树的最大深度
        • min_child_weight [缺省值=1]

          • 最小叶子节点样本权重和
        • subsample [缺省值=1]

          • 控制对于每棵树,随机采样的比例
        • colsample_bytree [缺省值=1]

          • 控制每棵随机采样的列数的占比
        • colsample_bylevel [缺省值=1]

          • 控制树的每一级的每一次分裂,对列数的采样的占比
        • lambda [缺省值=1,别名: reg_lambda]

          • 控制XGBoost的正则化部分
        • alpha [缺省值=0,别名: reg_alpha]

          • 权重的L1正则化项
        • scale_pos_weight[缺省值=1]

          • 样本的数目与正样本数目的比值
      • Linear Booster

        • lambda [缺省值=0,别称: reg_lambda]

          • L2正则化惩罚系数
        • alpha [缺省值=0,别称: reg_alpha]

          • L1正则化惩罚系数
        • lambda_bias [缺省值=0,别称: reg_lambda_bias]

          • 偏置上的L2正则化
    • 学习目标参数(task parameters)

      • 控制训练目标的表现

      • objective [缺省值=reg:linear]

      • eval_metric [缺省值=通过目标函数选择]

      • seed [缺省值=0]

        • 随机数的种子

    16.3 lightGBM

    16.3.1 演进过程

    • 在这里插入图片描述

    2017年1月,微软在GItHub上开源的一个新的梯度提升框架

    16.3.2 原理(优势)

    优化

    • 基于Histogram(直方图)的决策树算法
    • Lightgbm 的Histogram(直方图)做差加速
    • 带深度限制的Leaf-wise的叶子生长策略
    • 直接支持类别特征
    • 直接支持高效并行

    16.4 lightGBM API

    pip3 install lightgbm

    16.4.1 参数

    • Control Parameters

      • 在这里插入图片描述
    • Core Parameters

      • 在这里插入图片描述
    • IO parameter

      • 在这里插入图片描述

    16.4.2 调参建议

    • 在这里插入图片描述
  • 相关阅读:
    数据库系统及应用复习——第七章数据库设计
    在Docker里安装FastDFS分布式文件系统详细步骤
    360 评估反馈工具 – 它的含义以及使用它的原因
    Linux——02(网络配置、进程和服务、关机重启命令)
    两数之和 II - 输入有序数组
    贝锐蒲公英异地组网方案,如何阻断网络安全威胁?
    使用svm-svc算法对乳腺癌进行预测
    绿原酸(CA)牛血清白蛋白纳米粒|牛血红蛋白PLGA纳米粒的特性
    AI大模型
    泛微E9,独立选择框对应数据库表查询
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/126188988
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号