Xgboost使用方法详解一

Emma ·
更新时间:2024-09-21
· 781 次阅读

'''内置建模方式 1.xgb.train训练方式 2.DMatrix数据形态,不是DataFrame ''' import numpy as np import scipy.sparse import pickle import xgboost as xgb dtrain = xgb.DMatrix('data/agaricus.txt.train') dtest = xgb.DMatrix('data/agaricus.txt.test') #超参数设定 ''' max_depth:用于设置树的最大深度,默认为6,范围为:》1 eta:可以看作为学习率 为了防止过拟合,更新过程中用到的收缩步长, 再每次提升计算之后算法会直接获得新特征的权重。eta通过缩减特征的权重使提升计算过程更加保守。缺省值为0.3 取值范围为:[0,1] silent:0表示输出信息, 1表示安静模式 objective:这个参数定义需要被最小化的损失函数。 binary:logistic:二分类的逻辑回归,返回预测的概率 ''' param = {'max_depth':2,'eta':1,'silent':1,'objective':'binary:logistic'} #设定watchlist用于查看模型状态 watchlist = [(dtest,'eval'),(dtrain,'train')] num_round = 2 bst = xgb.train(param,dtrain,num_round,watchlist) #使用模型预测 preds = bst.predict(dtest) #判断准确率 labels = dtest.get_label() print("错误率为%f" % \ (sum(1 for i in range(len(preds)) if int(preds[i]>0.5)!=labels[i])/float(len(preds)))) #模型存储 bst.save_model('data/0001.model')
作者:小菜鸡一号



XGBoost使用 xgboost 方法

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章