机器学习sklearn-xgboost

集成算法 多个弱评估器,汇总所有弱评估器的建模结果,以获取比单个模型更好的回归或分类表现。

提升算法 Adaboost和梯度提升树

XGBoost背后也是CART树,所有树都是二叉的

对于梯度提升回归树来说,每个样本的预测结果可以表示为所有树上的结果的加权求和。每次迭代过程都加一棵树

XGB每个叶子节点上会有一个预测分数,也被称为叶子权重,叶子权重就是所有在这个叶子节点上的样本在这一棵树上的回归取值

参数n_estimators 默认100

训练中是否打印每次训练的结果 silent  监控模型的训练过程

sklearn.model_selection.learning_curve 学习曲线

训练集展示了模型的学习能力,测试集上表现展示了模型的泛化能力

进化的学习曲线:方差与泛化误差

泛化误差:用来衡量模型在位置数据集上的学习率的指标

有放回随机抽样 subsample

重要参数booster  使用哪种弱评估器  gbtree dart gblinear

XGB的目标函数 重要参数objective

机器学习sklearn-xgboost_第1张图片

平衡模型效果和模型复杂度

 机器学习sklearn-xgboost_第2张图片

 分类型的目标函数导入回归类中会直接报错

参数化决策树fk(x):参数alpha,lambda

XGB vs GBDT 核心区别 1 :求解预测值 的方式不同
XGB vs GBDT 核心区别2: 正则项的存在
贪婪算法指的是控制局部最优来达到全局最优的算法,决策树算法本身就是一种贪婪算法的方法
机器学习sklearn-xgboost_第3张图片

xgboost 天生过拟合的参数 需要剪枝

参数 max_depth  最大深度

colsample_bytree  每次生成树时随机抽样特征的比例

随机抽样特征 能够有效防止过拟合

pickle是python中比较表混的一个保存和调佣模型的库,可以使用pickle和open函数的使用,来讲模型保存在本地。

import pickle 

保存模型 pickle.dump

使用joblib 保存模型

xgboost主要用来做回归问题,也可以做分类问题

分类问题中用参数scale_pos_weight 来处理样本不均衡问题

你可能感兴趣的:(机器学习,机器学习,sklearn,python)