前言
这篇介绍Boosting的第二个模型GBDT,GBDT和Adaboost都是Boosting模型的一种,但是略有不同,主要有以下两点不同:
-
GBDT使用的基模型是CART决策树,且只能是CART决策树,而Adaboost的默认基模型是CART决策树,可以是其他模型。
-
GBDT通过计算每次模型的负梯度来进行模型迭代,而Adaboost模型则根据错分率来进行模型迭代。
参数
因基分类器是决策树,所以很多参数都是用来控制决策树生成的,这些参数与前面决策树参数基本一致,对于一致的就不进行赘述。
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.
作者:张俊红
- 我的微信公众号
- 微信扫一扫
- 我的微信公众号
- 微信扫一扫
评论