homesklearn 与XGBoost
菜菜的课堂——sklearn与XGBoost
⽂章⽬录
1. XGBoost 简介
XGBoost 是 “Extreme Gradient Boosting”的简称,可译为极限梯度提升算法。
说到XGBoost,不得不提GBDT(Gradient Boosting Decision Tree)。因为XGBoost本质上还是⼀个GBDT,但是⼒争把速度和效率发挥到极致,所以叫X (Extreme) GBoosted。包括前⾯说过,两者都是boosting⽅法。
提问题
XGBoost是⼀种基于决策树的集成机器学习算法,使⽤梯度上升框架,适⽤于分类和回归问题,并且主要是⽤来解决有监督学习问题所谓集成学习,是指构建多个分类器(弱分类器)对数据集进⾏预测,然后⽤某种策略将多个分类器预测的结果集成起来,作为最终预测结果。
glasswool
集成学习很好的避免了单⼀学习模型带来的过拟合问题集成学习按照各个弱学习器之间是否存在依赖关系可以分为两类:⼀个是个体学习器之间存在强依赖关系,必须串⾏化⽣成的序列化⽅法,代表算法就是是boosting系列算法(提升法)。
另⼀类是个体学习器之间不存在强依赖关系,可以并⾏化⽣成每个个体学习器,代表算法是bagging和随机森林(Random Forest)
系列算法(袋装法)。
因为XGBoost是⼀种提升树模型,所以它是将许多树模型集成在⼀起,形成⼀个很强的分类器。⽽所⽤到的树模型则是CART回归树模型。优点是速度快、效果好、能处理⼤规模数据、⽀持多种语⾔、⽀持⾃定义损失函数等
和传统的梯度提升算法相⽐,XGBoost进⾏了许多改进,它能够⽐其他使⽤梯度提升的集成算法更加快速,并且已经被认为是在分类和回归上都拥有超⾼性能的先进评估器。
1.1 xgboost 库与XGB 的sklearn API
cosco是什么意思安装
有两种⽅式可以来使⽤我们的xgboost库。
第⼀种⽅式,是直接使⽤xgboost库⾃⼰的建模流程。pip install -i https ://pypi .tuna .tsinghua .edu /simple xgboost
1
其中最核⼼的,是DMtarix这个读取数据的类,以及train()这个⽤于训练的类。
成人高考补习班
与sklearn把所有的参数都写在类中的⽅式不同,xgboost库中必须先使⽤字典设定参数集,再使⽤train来将参数及输⼊,然后进⾏训练。会这样设计的原因,是因为XGB所涉及到的参数实在太多,全部写在ain()中太长也容易出错。
renrenkanparams 可能的取值以及 ain 的列表
cable什么意思
第⼆种⽅法,使⽤xgboost库中的sklearn的API
可以调⽤如下的类,并⽤ sklearn 当中惯例的实例化,fit 和 predict 的流程来运⾏XGB,并且也可以调⽤属性⽐如coef_等等。当然,这是回归的类,也有⽤于分类,⽤于排序的类。它们与回归的类⾮常相似,因此了解⼀个类即可。params {eta , gamma , max_depth , min_child_weight , max_delta_step , subsample , colsample_bytree ,colsample_bylevel , colsample_bynode , lambda , alpha , tree_method string , sketch_eps , scale_pos_weight , updater ,refresh_leaf , process_type , grow_policy , max_leaves , max_bin , predictor , num_parallel_tree }
1candle
想念的英文2
3xgboost .train (params , dtrain , num_boost_round =10, evals =(), obj =None , feval =None , maximize =Fal ,early_stopping_rounds =None , evals_result =None , verbo_eval =True , xgb_model =None , callbacks =None ,learning_rates =None )
安拉1
2
3class xgboost .XGBRegressor ( max_depth =3, learning_rate =0.1, n_estimators =100, silent =True ,objective ='reg:linear', booster ='gbtree', n_jobs =1, nthread =None , gamma =0, min_child_weight =1, max_delta_step =0, subsample =1, colsample_bytree =1, colsample_bylevel =1, reg_alpha =0, reg_lambda =1, scale_pos_weight =1,1
2
3
4
5
6
7