r语言 数据women 查看预测结果 查看结果 预测结果离散化 过早混淆矩阵 计算正确率
时间: 2023-06-12 09:07:19 浏览: 141
R语言 数据分析
5星 · 资源好评率100%
以下是用R语言实现预测结果离散化、混淆矩阵和正确率的示例代码:
```R
# 加载数据集
data(women)
# 划分训练集和测试集
set.seed(123)
train <- sample(nrow(women), 0.7 * nrow(women))
test <- setdiff(seq_len(nrow(women)), train)
# 构建线性回归模型
model <- lm(weight ~ height, data = women[train, ])
# 预测测试集数据
pred <- predict(model, newdata = women[test, ])
# 将预测结果离散化为二分类
threshold <- 60
pred_discrete <- ifelse(pred >= threshold, 1, 0)
# 构建混淆矩阵
library(caret)
confusionMatrix(pred_discrete, women$weight[test] >= threshold)
# 计算正确率
accuracy <- sum(pred_discrete == (women$weight[test] >= threshold)) / length(pred_discrete)
print(paste0("Accuracy: ", accuracy))
```
解释一下代码:
1. 首先加载了R自带的数据集`women`,该数据集包括了一个女性样本的身高和体重数据。
2. 利用`sample`函数将数据集划分为训练集和测试集。
3. 使用线性回归模型`lm`,以训练集数据为基础,构建预测模型。
4. 利用`predict`函数,对测试集数据进行预测。
5. 将预测结果离散化为二分类,若预测值大于等于60,则判定为“重”,否则为“轻”。
6. 利用`confusionMatrix`函数,构建混淆矩阵,展示模型预测结果与真实结果之间的差异。
7. 计算正确率,即预测结果为“重”或“轻”的样本中,预测结果与真实结果相同的比例。
阅读全文