r语言混淆矩阵计算xgboost模型正确率
时间: 2023-08-03 12:27:24 浏览: 98
使用R语言和xgboost包构建血糖预测模型
在R语言中,可以使用`caret`包中的`confusionMatrix()`函数来计算混淆矩阵和模型的准确率。具体实现过程如下:
```R
# 加载数据集
data <- read.csv("data.csv")
train_index <- sample(1:nrow(data), 0.7 * nrow(data))
train_data <- data[train_index, ]
test_data <- data[-train_index, ]
# 训练xgboost模型
library(xgboost)
model <- xgboost(data = as.matrix(train_data[, -ncol(train_data)]),
label = train_data$label,
nrounds = 100,
objective = "binary:logistic")
# 对测试集进行预测
test_pred <- predict(model, as.matrix(test_data[, -ncol(test_data)]))
test_pred_label <- ifelse(test_pred > 0.5, 1, 0)
# 计算混淆矩阵和准确率
library(caret)
conf_mat <- confusionMatrix(test_pred_label, test_data$label)
print(conf_mat$table)
print(paste0("Accuracy: ", conf_mat$overall["Accuracy"]))
```
需要注意的是,在计算混淆矩阵时,要将预测结果和真实标签作为参数传入`confusionMatrix()`函数,并设置`positive`参数为1,表示真实标签为1的样本是“正例”。同时,可以通过`conf_mat$overall["Accuracy"]`来获取模型的准确率。
阅读全文