XGboost分类模型代码
时间: 2024-06-13 21:01:29 浏览: 116
XGBoost是一种高效的分类和回归模型,它的基本思想是通过提升树(boosting tree)的方法不断地去优化目标函数。相比于传统的决策树模型,XGBoost可以自动处理缺失值、特征选择、特征变换等问题,同时还可以通过正则化等方法来防止过拟合。
下面是一个简单的XGBoost分类模型的代码示例,其中假设已经准备好了训练集(train_data)和测试集(test_data),并且将数据集转换成了DMatrix格式(即XGBoost专用的数据格式):
```python
import xgboost as xgb
# 设置参数
params = {'max_depth': 3, 'eta': 0.1, 'silent': 1, 'objective': 'multi:softmax', 'num_class': 3}
# 训练模型
num_round = 10
model = xgb.train(params, train_data, num_round)
# 预测测试集
preds = model.predict(test_data)
# 计算准确率
acc = sum(1 for i in range(len(preds)) if preds[i] == test_labels[i]) / float(len(preds))
print("Accuracy: %.2f%%" % (acc * 100.0))
# 打印特征重要性
feat_imp = model.get_score(importance_type='weight')
print(feat_imp)
```
在上面的代码中,我们首先设置了XGBoost模型的参数,然后通过xgb.train()函数训练模型。接着使用训练好的模型对测试集进行预测,并计算准确率。最后,我们通过model.get_score()函数可以得到特征的重要性分数。
阅读全文