Sklearn参数详解—GBDT

张俊红
张俊红
张俊红
54
文章
0
评论
2020-04-1802:05:00 评论 1,323 1225字
摘要

这篇介绍Boosting的第二个模型GBDT,GBDT和Adaboost都是Boosting模型的一种,但是略有不同,

前言

这篇介绍Boosting的第二个模型GBDT,GBDT和Adaboost都是Boosting模型的一种,但是略有不同,主要有以下两点不同:

  • GBDT使用的基模型是CART决策树,且只能是CART决策树,而Adaboost的默认基模型是CART决策树,可以是其他模型。

  • GBDT通过计算每次模型的负梯度来进行模型迭代,而Adaboost模型则根据错分率来进行模型迭代。

参数

Sklearn参数详解—GBDT

因基分类器是决策树,所以很多参数都是用来控制决策树生成的,这些参数与前面决策树参数基本一致,对于一致的就不进行赘述。

loss:损失函数度量,有对数似然损失deviance和指数损失函数exponential两种,默认是deviance,即对数似然损失,如果使用指数损失函数,则相当于Adaboost模型。

criterion: 样本集的切分策略,决策树中也有这个参数,但是两个参数值不一样,这里的参数值主要有friedman_mse、mse和mae3个,分别对应friedman最小平方误差、最小平方误差和平均绝对值误差,friedman最小平方误差是最小平方误差的近似。

subsample:采样比例,这里的采样和bagging的采样不是一个概念,这里的采样是指选取多少比例的数据集利用决策树基模型去boosting,默认是1.0,即在全量数据集上利用决策树去boosting。

warm_start:"暖启动",默认值是False,即关闭状态,如果打开则表示,使用先前调试好的模型,在该模型的基础上继续boosting,如果关闭,则表示在样本集上从新训练一个新的基模型,且在该模型的基础上进行boosting。

属性/对象

feature_importance_:特征重要性。

oob_improvement_:每一次迭代对应的loss提升量。oob_improvement_[0]表示第一次提升对应的loss提升量。

train_score_:表示在样本集上每次迭代以后的对应的损失函数值。

loss_:损失函数。

estimators_:基分类器个数。

方法

apply(X):将训练好的模型应用在数据集X上,并返回数据集X对应的叶指数。

decision_function(X):返回决策函数值(比如svm中的决策距离)

fit(X,Y):在数据集(X,Y)上训练模型。

get_parms():获取模型参数

predict(X):预测数据集X的结果。

predict_log_proba(X):预测数据集X的对数概率。

predict_proba(X):预测数据集X的概率值。

score(X,Y):输出数据集(X,Y)在模型上的准确率。

staged_decision_function(X):返回每个基分类器的决策函数值

staged_predict(X):返回每个基分类器的预测数据集X的结果。

staged_predict_proba(X):返回每个基分类器的预测数据集X的概率结果。

End.

作者:张俊红

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: