用R语言做出二元逻辑回归模型的混淆矩阵的代码及并将混淆矩阵可视化
时间: 2023-11-26 14:39:19 浏览: 83
当然,我可以帮你编写R语言代码来构建二元逻辑回归模型的混淆矩阵并进行可视化。以下是示例代码:
```R
# 导入所需库
library(caret)
library(ggplot2)
# 创建一个随机数据集作为示例
set.seed(123)
data <- data.frame(
feature1 = rnorm(100),
feature2 = rnorm(100),
label = sample(c(0, 1), 100, replace = TRUE)
)
# 划分数据集为训练集和测试集
trainIndex <- createDataPartition(data$label, p = 0.8, list = FALSE)
trainData <- data[trainIndex, ]
testData <- data[-trainIndex, ]
# 构建二元逻辑回归模型
model <- glm(label ~ ., data = trainData, family = "binomial")
# 在测试集上进行预测
predicted <- predict(model, newdata = testData, type = "response")
predicted <- ifelse(predicted >= 0.5, 1, 0)
# 创建混淆矩阵
confusionMatrix <- table(Actual = testData$label, Predicted = predicted)
# 可视化混淆矩阵
ggplot(data = as.data.frame(confusionMatrix)) +
geom_tile(aes(Actual, Predicted, fill = Freq), color = "white") +
geom_text(aes(Actual, Predicted, label = Freq), vjust = 1) +
labs(x = "Actual", y = "Predicted", fill = "Frequency")
```
这段代码首先导入了`caret`和`ggplot2`库,然后创建了一个随机数据集作为示例。接着,将数据集划分为训练集和测试集。然后,使用`glm`函数构建二元逻辑回归模型,并在测试集上进行预测。接下来,使用`table`函数创建混淆矩阵,并使用`ggplot2`库进行可视化。
希望这可以帮助到你!如果你有任何其他问题,请随时问我。
阅读全文