xgboost怎么用,xgboost使用教程
在计算机编程语言中使用XGBoost下面将介绍XGBoost的计算机编程语言模块,内容如下:
* 编译及导入计算机编程语言模块
* 数据接口
* 参数设置
* 训练模型l
* 提前终止程序
* 预测
提供了国际自行车联合会蘑菇数据集的大蟒演示示例。
安装首先安装XGBoost的C版本,然后进入源文件的根目录下的封装器文件夹执行如下脚本安装计算机编程语言模块
python setup.py安装安装完成后按照如下方式导入XGBoost的计算机编程语言模块
将xgboost作为xgb=导入
数据接口XGBoost可以加载支持向量机格式的文本数据,加载的数据格式可以为数组的二维数组和XGBoost的二进制的缓存文件。加载的数据存储在对象系列中。
加载支持向量机格式的数据和二进制的缓存文件时可以使用如下方式dtrain=xgb .d矩阵(‘火车。SVM。txt )dtest=xgb .DMatrix(test.svm.buffer )加载数组的数组到系列对象时,可以用如下方式data=np.random.rand(5,10) # 5个实体,每个实体包含10个特征label=np.random.randint(2,size=5) # binary targetdtrain=xgb .数据矩阵(数据,标签=标签)将科学稀疏格式的数据转化为系列格式时,可以使用如下方式CSR=scipy。稀疏。CSR _ matrix((dat,(row,col)) )dtrain=xgb .矩阵(企业社会责任)将系列格式的数据保存成XGBoost的二进制格式,在下次加载时可以提高加载速度,使用方式如下dtrain=xgb .d矩阵(‘火车。SVM。txt )dt雨。save _ binary( train。缓冲区’)可以用如下方式处理系列中的缺失值:dtrain=xgb .数据矩阵(数据,标签=标签,缺失=-999.0)当需要给样本设置权重时,可以用如下方式w=np.random.rand(5,1)dtrain=xgb .数据矩阵(数据,标签=标签,缺失=-999.0,权重=w)参数设置XGBoost使用键值格式保存参数。邪恶的笑(邪恶的露齿一笑的缩写)
*助推器(基本学习器)参数
param={bst:max_depth:2, bst:eta:1, silent:1, objective : binary:logistic } param[ nthread ]=4p lst=param。items()plst=[(eval_metric , auc)] #可以用这种方式处理多个求值plst=[( eval _ metric , ams@0)]还可以定义验证数据集,验证算法的性能evallist=[(dtest, eval ),(dtrain, train)]=
训练模型有了参数列表和数据就可以训练模型了
* 训练
num_round=10bst=xgb.train( plst,dtrain,num_round,evallist)保存模型
在训练完成之后可以将模型保存下来,也可以查看模型内部的结构bst.save_model(0001.model )转储模型和功能映射
您可以将模型转储到文本文件(textfile)并查看模型#转储型号BST。dump _ model( dump。生的。txt )#转储模型与特征映射BST。dump _ model( dump。生的。 txt , featmap.txt )的含义加载模型
通过如下方式可以加载模型bst=xgb .booster({ nthread :4 })# init model BST。load _ model(模型。bin )#加载数据=
提前终止程序如果有评价数据,可以提前终止程序,这样可以找到最优的迭代次数。如果要提前终止程序必须至少有一个评价数据在参数评估中如果有多个,它将使用最后一个。
火车(.evals=evals,early_stopping_rounds=10)
该模型将进行训练,直到验证分数停止提高。验证误差需要至少减少每一个提前停止轮次以继续训练。
如果提前停止,模型将有两个额外的字段:bst.best_score和最佳迭代.请注意,火车()将返回上一次迭代的模型,而不是最佳模型。
这与两种度量一起工作,以最小化RMSE,日志丢失等。)和最大化(地图、NDCG、AUC)。
=
预测在训练/加载模型并准备好数据之后,就可以开始进行预测了。
data=np.random.rand(7,10) # 7个实体,每个实体包含10个featuresdtest=xgb .DMatrix( data,missing=-999.0)ypred=BST。预测(xgmat)如果训练时启用了提前停止,可以用最佳迭代进行预测。
ypred=bst.predict(xgmat,ntree_limit=bst.best_iteration)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。