数据结构大作业之随机森林与XGBoost训练与调参

做什么:

模型训练;
调参训练;
训练,优化得到预测模型


首先基础内容:

  1. 课程链接
    基本原理认识
  2. 基础概念知识:
    (1)交叉验证
    (2)随机森林,XGBoost,调参+学习曲线/网格搜索+解读调参结果和过程

课程基础:

sklearn:开源的基于python语言的机器学习工具包,几乎涵盖了大部分主流机器学习算法
随机森林:集成算法中的装袋法:一次性建立多个若评估器
Xgboost:集成算法中提升法的代表算法:梯度提升树

  1. 树模型:分类树,回归树
  2. XGB:每个叶子结点上会有一个预测分数,也被称为叶子权重,即为求解的xgb最后的结果:参数模型。(每棵树之间相互递进的关系)
  3. xgb的超参数:k棵树;silent:打印训练的结果:建树流程
  4. 简单建模:探索性质
    (1)xdb,随机森林,线性回归对比
    (2)学习曲线,进行优化

对比之随机森林

重点:

  • 集成算法原理:非常具有代表性的bagging集成算法(装袋),所有基评估器是决策树
  • 调参
  • 步骤:
    (1)建模流程
    (2)随机森林参数:n_estimators调参重点,单调影响:越大随机森林精确性越好,建树越多——渴望找到训练难度和模型效果之间的平衡
    (新版sklearn中把n_estimators=100)
    在这里插入图片描述
    (3)建一片随机森林与建一棵决策树对比:
    森林的每一棵树长得是不一样的;
    进行10组的10次交叉验证,进行验证——随机森林
    (4)调参的探究(调参的办法:对模型的理解和调参思路):
  • 找目标:模型的评估指标:在测试集上准确率高,模型效果好(泛化误差小)
  • 模型的泛化误差降低:首先判断模型在图像的那一边:“偏差方差困境”,模型复杂度与泛化误差的关联
  • 模型太复杂,太简单-泛化误差都受影响,我们追求的是位于中间的平衡点
  • 对树模型和树的集成模型来说,树的深度越深,叶子越多模型越复杂
  • 树模型和树的集成模型的目标,都是减少模型复杂度,把模型往图像的左边移动
    (5)树模型:在于剪枝,使最大限度调上去
    在这里插入图片描述

对比XGBoost:

  1. 梯度提升算法:每个叶子结点上会有一个预测分数,也被称为叶子权重,即为求解的xgb最后的结果:参数模型。(每棵树之间相互递进的关系)
  2. 交叉验证,调参
  3. 训练最优模型,保存模型

保存模型,进行预测

  1. 前面训练的模型,进行保存
  2. 实现前端页面(输入),调用已经保存的模型,进行预测输出

猜你喜欢

转载自blog.csdn.net/qq_43642447/article/details/106505498