zoukankan      html  css  js  c++  java
  • XGBoost模型的参数调优

    XGBoost算法在实际运行的过程中,可以通过以下要点进行参数调优:

    (1)添加正则项:

        在模型参数中添加正则项,或加大正则项的惩罚力度,即通过调整加权参数,从而避免模型出现过拟合的情况。

    (2)控制决策树的层数:

    通过叶子结点数目控制决策树的层数,视乎样本量大小决定,对于10万以下

    的样本,一般在1到4之间,而针对更大的样本量,可以尝试更深的决策树层数
    发掘隐藏在数据里的一些规律或模式。
    (3)设定叶子结点包含的最少样本数目:

    从而防止出现过小的叶子结点,降低预测
    (4)增加算法迭代次数:

    可有效提高训练集的预测精度,但若迭代次数过多容易造成
    成过拟合
    (5)通过收缩步长和列采样的方法来避免过拟合:

    收缩步长即在每一次迭代的过程中,

    对拟合的残差乘以一个收缩系数,从而限制当前迭代过程的学习步长;列
    采样即本次迭代参与优化的特征维度并不是所有的维度,而是通过采样得到的
    维度,更少的选择会让算法不容易将训练集的残差拟合得过好,从而造成过拟
    合;
    (6)通过交叉验证的方法:

    来确定模型参数,从而达到预测准确率与防止过拟合之
    间的平衡。交叉验证(Cross-validation)的本质思想是把在某种意义下将原始数
    据进行分组,一部分做为训练集,另一部分做为验证集,首先用训练集对分类
    器进行训练,再利用验证集来测试训练得到的模型,以此来做为评价分类器的
    性能指标。常用的交叉验证方法是K折交叉验证,即将样本分为K个互不相交
    的子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用
    来训练。交叉验证重复K次,每个子样本验证一次,平均K次的得到结果来确定最
    终模型使用的参数。

  • 相关阅读:
    zxing实现二维码生成和解析
    【转】 完美配置Tomcat的HTTPS
    Activiti----hellowWorld(使用H2数据库)
    工具类
    redis的安装与部署
    ajax常用写法
    【iScroll源码学习04】分离IScroll核心
    【iScroll源码学习03】iScroll事件机制与滚动条的实现
    【iScroll源码学习01】准备阶段
    【iScroll源码学习00】模拟iScroll
  • 原文地址:https://www.cnblogs.com/ConnorShip/p/10228806.html
Copyright © 2011-2022 走看看