GBM,XGBoost,LightGBM】的更多相关文章

tree based ensemble algorithms 主要介绍以下几种ensemble的分类器(tree based algorithms) xgboost lightGBM: 基于决策树算法的分布式梯度提升框架 GBDT(Gradient Boosting Decison Tree) 随机森林 Why is it called random forest 决策树 tree based ensemble algorithms 原始的Boost算法是在算法开始的时候,为每个样本赋上一个权重…
GBM如何调参:https://www.analyticsvidhya.com/blog/2016/02/complete-guide-parameter-tuning-gradient-boosting-gbm-python/ XGBoost 应该如何调参:https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/# LightGBM和XGBoos…
sklearn集成方法 bagging 常见变体(按照样本采样方式的不同划分) Pasting:直接从样本集里随机抽取的到训练样本子集 Bagging:自助采样(有放回的抽样)得到训练子集 Random Subspaces:列采样,按照特征进行样本子集的切分 Random Patches:同时进行行采样.列采样得到样本子集 sklearn-bagging 学习器 BaggingClassifier BaggingRegressor 参数 可自定义基学习器 max_samples,max_feat…
引 言 如果你是一个机器学习社区的活跃成员,你一定知道 提升机器(Boosting Machine)以及它们的能力.提升机器从AdaBoost发展到目前最流行的XGBoost.XGBoost实际上已经成为赢得在Kaggle比赛中公认的算法.这很简单,因为他极其强大.但是,如果数据量极其的大,XGBoost也需要花费很长的时间去训练. 绝大多数人可能对 Light Gradient Boosting 不熟悉,但是读完本文后你就会对他们很熟悉.一个很自然的问题将进入你的思索:为什么又会出现另一个提升…
0.随机森林的思考 随机森林的决策树是分别采样建立的,各个决策树之间是相对独立的.那么,在我们得到了第k-1棵决策树之后,能否通过现有的样本和决策树的信息, 对第m颗树的建立产生有益的影响呢?在随机森林建立之后,采用的投票过程能否增加一定的权值呢?在选取样本的时候,我们能否对于分类错误的样本给予更大的权值,使之得到更多的重视呢? 1.什么是提升思想 提升是一个机器学习技术,可以用于回归和分类问题,它每一步产生一个弱预测模型,并加权累加到总的模型之中,如果每一步的弱预测模型生成都是依据损失函数的梯…
1.bootstrap   在原始数据的范围内作有放回的再抽样M个, 样本容量仍为n,原始数据中每个观察单位每次被抽到的概率相等, 为1/n , 所得样本称为Bootstrap样本.于是可得到参数θ的一个估计值θ^(b),这样重复若干次,记为B .为了可以避免一些误差点对少量树的决策影响. 2.决策树 : 信息熵: Ent(D) = - ΣPk*logPk, Ent(D)的值越小,则D的纯度越高           信息增益: ID3中使用, 存在过拟合的情况, 避免过拟合的方法,1. 通过si…
传统的GBDT是以CART作为基分类器,xgboost还支持线性分类器,这个时候XGBOOST相当于带L1和L2正则化的逻辑斯蒂回归(分类问题)或者线性回归(回归问题).传统的GBDT在优化的hih只用到一阶导数信息,xgboost则对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数.顺便提一下,xgboost工具支持自定义代价函数,只要函数可一阶和二阶求导. xgboost在代价函数里加入了正则项,用于控制模型的复杂度.正则项里包含了树的叶子节点个数.每个叶子节点上输出的score是L2模…
最近学到了xgboost,但是anaconda并没有这个环境只好自己安装了... 注: (1)并没有测试anaconda在2.x的版本下是如何安装的, 基本上应该是大同小类的,我的anaconda版本是3.x的,win8.1 系统: (2)建议自己再安装之前,先在网上找找资料,统揽几遍,做到心中大体有数,针对本文也是,看完之后再装: (3)别人说过的我就不说了,我只说注意的点,以及容易出现的问题. 好了,进入正文了,根据我说的内容,参考对应博文的相应的内容,不要超前,我会讲注意点的. 我参考的地…
一.XGBoost参数解释 XGBoost的参数一共分为三类: 通用参数:宏观函数控制. Booster参数:控制每一步的booster(tree/regression).booster参数一般可以调控模型的效果和计算代价.我们所说的调参,很这是大程度上都是在调整booster参数. 学习目标参数:控制训练目标的表现.我们对于问题的划分主要体现在学习目标参数上.比如我们要做分类还是回归,做二分类还是多分类,这都是目标参数所提供的. Note: 我下面介绍的参数都是我觉得比较重要的, 完整参数请戳…
sklearn集成方法 集成方法的目的是结合一些基于某些算法训练得到的基学习器来改进其泛化能力和鲁棒性(相对单个的基学习器而言)主流的两种做法分别是: bagging 基本思想 独立的训练一些基学习器(一般倾向于强大而复杂的模型比如完全生长的决策树),然后综合他们的预测结果,通常集成模型的效果会优于基学习器,因为模型的方差有所降低. 常见变体(按照样本采样方式的不同划分) Pasting:直接从样本集里随机抽取的到训练样本子集 Bagging:自助采样(有放回的抽样)得到训练子集 Random…