热线电话:13121318867

登录
2020-06-10 阅读量: 1024
调用xgboost的一系列库,模块和类的方法

陈天奇创造了 XGBoost之后,很快和一群机器学习爱好者建立了专门调用XGBoost库,名为xgboost。xgboost是一个独立的,开源的,专门提供梯度提升树以及XGBoost算法应用的算法库。它和sklearn类似,有一个详细的官方网站可以供我们查看,并且可以与C,Python,R,Julia等语言连用,但需要我们单独安装和下载。

xgboost documents: https://xgboost.readthedocs.io/en/latest/index.html

如果是基于Python来运行。xgboost库要求我们必须要提供适合的Scipy环境,如果你是使用 anaconda安装 的Python,你的Scipy环境应该是没有什么问题。以下为大家提供在windows中和MAC 使用pip来安装xgboost的代码:

pip install --user xgboost #安装xgboost库

pip install --upgrade xgboost #更新xgboost库

安装完毕之后,我们就能使用这个库中所带的xgboost相关的类了。

import xgboost as xgb

现在我们可以使用xgboost库自身的建模流程

1、读取数据:xgb.DMatrix()

2、设置参数:param={}

3、训练模型:bst=xgb.train(param)

4、预测结果:bst.predict()

其中最核心的,是DMtarix这个读取数据的类,以及train()这个用于训练的类。与sklearn把所有的参数都写在类中的方式不同,xgboost库中必须先使用字典设定参数集,再使用train来将参数及输入,然后进行训练。会这样设计的原因,是因为XGB所涉及到的参数实在太多,全部写在xgb.train()中太长也容易出错。下面是params可能的取值以及xgboost.train的列表,给大家一个印象。

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}

xgboost.train (params, dtrain, num_boost_round=10, evals=(), obj=None, feval=None, maximize=False,early_stopping_rounds=None, evals_result=None, verbose_eval=True, xgb_model=None, callbacks=None,learning_rates=None)

16.4785
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子