一、XGBoost数据形式
XGBoost数据是以xgboostDMatrix格式。如下图所示,每行的第一列是标签,其余行表示的是特征,用:
区分列号及其取值。特征中,未列出列号的列值为0
二、处理流程
1. 数据准备
data_train = xgb.DMatrix('agaricus_train.txt')
data_test = xgb.DMatrix('agaricus_test.txt')
2. 建模
params = {'max_depth':3,'eta':1,'silent': 1,'objective': 'binary:logistic'}
model = xgb.train(params=params,dtrain=data_train)
max_depth
树的最大深度eta
学习率silent
模型训练时是否输出。1:不输出,0:输出objective
损失函数
3. 模型预测
y_predict = model.predict(data_test)
y_hat = [1 if j>0.5 else 0 for j in y_predict]# 模型输出是小数
acc = sum(y_hat==data_test.get_label())/len(y_hat) # 计算精度
4. 画出实验结果
xgb.plot_importance(model)# 特征的重要度
xgb.plot_tree(model)# 决策树
plt.show()