R语言XGBooet模型代码
时间: 2023-10-24 08:07:58 浏览: 68
下面是一个简单的R语言XGBoost模型的示例代码:
```r
# 加载XGBoost库
library(xgboost)
# 加载数据
data(agaricus.train, package='xgboost')
data(agaricus.test, package='xgboost')
# 将数据转换为XGBoost数据格式
dtrain <- xgb.DMatrix(data = agaricus.train$data, label = agaricus.train$label)
dtest <- xgb.DMatrix(data = agaricus.test$data, label = agaricus.test$label)
# 设置XGBoost模型参数
params <- list(
booster = "gbtree",
objective = "binary:logistic",
eta = 0.3,
max_depth = 6,
min_child_weight = 1,
subsample = 1,
colsample_bytree = 1,
eval_metric = "auc"
)
# 训练XGBoost模型
xgb_model <- xgb.train(
params = params,
data = dtrain,
nrounds = 50,
watchlist = list(train = dtrain, test = dtest),
early_stopping_rounds = 10,
verbose = 1
)
# 使用测试集评估模型性能
pred <- predict(xgb_model, dtest)
auc <- xgb_model$evaluation_log$test_auc[which.max(xgb_model$evaluation_log$test_auc)]
# 输出模型性能指标
cat(sprintf("AUC on test set: %f\n", auc))
```
这个示例代码使用XGBoost库加载了一个二分类问题的数据集,并训练了一个XGBoost分类模型。模型参数通过`params`列表指定,`xgb.train`函数用于训练模型,并使用测试数据集评估模型性能。最后,输出了测试集上的AUC指标。
阅读全文