专栏首页张俊红Sklearn参数详解—GBDT

Sklearn参数详解—GBDT

总第113篇

前言

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

  • GBDT使用的基模型是CART决策树,且只能是CART决策树,而Adaboost的默认基模型是CART决策树,可以是其他模型。
  • GBDT通过计算每次模型的负梯度来进行模型迭代,而Adaboost模型则根据错分率来进行模型迭代。

参数

class sklearn.ensemble.GradientBoostingClassifier(loss='deviance', learning_rate=0.1, n_estimators=100, subsample=1.0, criterion='friedman_mse', min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_depth=3, min_impurity_decrease=0.0, min_impurity_split=None, init=None, random_state=None, max_features=None, verbose=0, max_leaf_nodes=None, warm_start=False, presort='auto')

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

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

criterion: 样本集的切分策略,决策树中也有这个参数,但是两个参数值不一样,这里的参数值主要有friedman_msemsemae3个,分别对应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的概率结果。

本文分享自微信公众号 - 张俊红(zhangjunhong0428)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Sklearn参数详解—Adaboost

    今天这篇讲讲集成学习,集成学习就是将多个弱学习器集合成一个强学习器,你可以理解成现在有好多道判断题(判断对错即01),如果让学霸去做这些题,可能没啥问题,几乎全...

    张俊红
  • SKlearn参数详解—随机森林

    随机森林(RandomForest,简称RF)是集成学习bagging的一种代表模型,随机森林模型正如他表面意思,是由若干颗树随机组成一片森林,这里的树就是决策...

    张俊红
  • Sklearn参数详解--决策树

    张俊红
  • 实现三遍决策树,你就会想出更快的算法!

    背景 决策树(Decision Tree)可以说是当下使用最为广泛的机器学习模型,任何一个刚刚学习人工智能或者数据挖掘的同学可能都接触过实现决策树的课程作业。 ...

    企鹅号小编
  • MIT研究:AI模型从患者数据中学习,减少癌症治疗过程中的毒性

    麻省理工学院的研究人员正在采用新的机器学习技术,通过减少对神经胶质母细胞瘤的毒性化疗和放射治疗,提高患者的生活质量。胶质母细胞瘤是一种脑癌最具侵袭性的形式。

    AiTechYun
  • pyltp的使用教程

    pyltp 是 LTP 的 Python 封装,提供了分词,词性标注,命名实体识别,依存句法分析,语义角色标注的功能。

    致Great
  • Nature新研究:酒精导致的DNA损伤能被安全修复,为降低酒精性癌症发病率开辟机会

    当酒精代谢物乙醛没能被及时分解为乙酸,乙醛就会侵入细胞诱发DNA损伤,增加细胞癌变风险。

    量子位
  • Python基础面试,看这篇文章画重点吧

    一直想写一些更加基础的文章,但是总是想不到好的点子,最近到了就业季,一大堆学生面临就业了,正好,从Python的面试题出发,分析和解答一些常见的面试题,并且总结...

    py3study
  • Windows平台python操作串口示

    在windows中,使用Python进行串口编程需要安装一个Serial模块pyserial:

    py3study
  • python微服务设计

    py3study

扫码关注云+社区

领取腾讯云代金券