• XGBoost


    XGB架构参数

    • booster:①’gbtree’:树模型做为基分类器(默认);②’gbliner’:线性模型做为基分类器。③’dart’:树模型做为基分类器(采用dropout,随机丢弃一些树,防止过拟合)。

    • n_estimator:总共迭代的次数,即基学习器的个数。

    • objective:①**‘reg:linear’:线性回归**;②’reg:logistic’:逻辑回归;③’binary:logistic’:二分类,返回概率(默认值);④’binary:logitraw’:二分类,返回类别;⑤’multi:softprob’:多分类,返回概率;⑥’multi:softmax’:多分类,返回类别。

    • seed:随机种子,便于复现

    • verbosity:打印消息的详细程度。默认为0(silent),还可以取1(warning)、2(info)、3(debug)。

    • nthread:取-1时,使用全部CPU进行并行运算(默认);取1时,使用1个CPU进行运算

    • disable_default_eval_metric:是否禁用默认的(验证集的)评估指标,默认为False。如果要用自定义的评估指标,需要将这一项设为True。

    early_stopping_rounds:在验证集上,当连续n次迭代,分数没有提高后,提前终止训练,防止过拟合

    弱学习器参数

    • num_class:样本类别数,与’objective’:'multisoftmax’并用。

    • max_depth:树的深度,默认值是6,一般取3-10。过大容易过拟合,过小容易欠拟合。

    • min_child_weight:最小子节点的权重,默认值为1。如果某个子节点权重小于这个阈值,则不会在分裂。值越大,越容易欠拟合;值越小,越容易过拟合。

    • gamma:惩罚项系数,在树的叶节点上进一步分裂带来的最小损失函数下降值。gamma越大,算法越健壮。默认值为0。

    • subsample:子采样参数,即训练每棵树时,使用的数据占全部训练集的比例。默认值为1,一般取0.5-1。可防止过拟合。

    • colsample_bytree:训练每棵树时,使用的特征占全部特征的比例。默认值为1,典型值为0.5-1。可防止过拟合。

    • colsample_bylevel:控制树的每一级的每一次分裂,对特征的采样比重,默认值为1。

    • colsample_bynode:控制树的每一个节点的每一次分裂,对列数的采样比重,默认值为1。

    • reg_alpha:L1正则化参数,在高维度的情况下,调节该参数可以加快算法的速度,使模型更加健壮。默认为0。

    • reg_lambda:L2正则化参数,调节该参数可以减少过拟合使模型更加健壮。默认值为1。

    • eta:学习率,控制每次迭代更新权重时的步长,默认0.3。一般取0.01-0.2。

    其他参数

    • n_jobs**:控制算法的并发线程数**

    • scale_pos_weight:用于数据样本类别不平衡的时候,例如正例:负例 = 1:10,可以设置scale_pos_weight=10。

    • n_jobs:并行线程数,默认为1

    • tree_method:①’auto’:使用启发式方法选择最快的方法。②’exact’:精确贪婪算法,枚举所有候选项;③’approx’:使用分位数草图和梯度直方图的近似贪婪算法;④’hist’:快速直方图优化近似贪心算法。 它使用了一些性能改进,例如垃圾箱缓存。⑤’gpu_exact’:精确算法的GPU实现。⑥’gpu_hist’:hist算法的GPU实现

    Subsample有放回随机采样

    树模型是天生过拟合模型,并且如果数量太过巨大,树模型的计算会非常缓慢,因此,我们需要对原始数据有放回抽样,有放回抽样每次只能抽取一个样本,若我们需要总共N个样本,就需要抽取N此,每次抽取一个样本的过程是独立的,这一次被抽取的样本就会被放回到数据集中,下一次还可能被抽到,因此抽出的数据集中,可能有一些重复数据,
    SKlearn中的随机森林类,也有名为Boostrap的参数来帮助我们控制这种随机的有放回抽样,同时这样做,还可以保证集成学习算法每个弱分类器(每棵树)都是不同的模型,基于不同数据建立的自然是不同的模型,而集成系列一摸一样的弱分类器是没有意义的。在这里插入图片描述

    调参步骤及思想

    在这里插入图片描述

    学习心得

    构建模型的时候,会将深度学习与各种网络层进行结合。
    会自己将各种模型及其参数,全部将其搞清楚,全部将其迭代,研究透彻!全部将其搞透彻都行啦的理由与打算。
    会自己在建模中设置自己的参数及其模型建立,全部将其搞透彻。
    研究彻底都行啦的理由与打算。

  • 相关阅读:
    IDEA 部署服务到 Docker 容器
    【springboot系列】springboot启动过程源码分析,【最全源码源码,手把手教】
    基于LeNet实现手写体数字识别实验
    Kotlin面向对象
    数据库学习笔记——DDL
    PerfView专题 (第十篇):洞察 C# 终结队列引发的内存泄漏
    【基带开发】AD9361通信基础:复数乘法 除法
    【杂记-浅谈XSS跨站脚本攻击】
    面试:插件化相关---so
    LeetCode 0938.二叉搜索树的范围和:深度优先搜索(可中序遍历)
  • 原文地址:https://blog.csdn.net/kuxingseng123/article/details/127793687