r——训练样本大小和测试预测大小的差异

  • 本文关键字:样本 测试 r prediction
  • 更新时间 :
  • 英文 :


我已经在2120x10的样本大小上训练了一个模型。现在,我正试图将相同的模型应用于测试数据集,但在导出混淆矩阵时遇到了问题。

test_predictions <- predict(train_obj, test_data)
test_predictions <- ifelse(test_predictions > 5, 1, 0)
confusionMatrix(as.factor(test_predictions), test_data$outcome, positive="1")

我在计算混淆矩阵时遇到了一个错误,因为test_data$outcome有2135个值。如果我使用test_data$outcome[1:2120],一切都很好。

有没有更好的方法可以在不限制值数量的情况下计算混淆矩阵。?限制test_data$outcome中的值的数量是否正确?

这听起来不对。如果test_data只有2120行,那么test_data$outcome怎么能有2135个值?即使test_data的预测器中存在NA,它们也会被预测为NA,然后被confusionMatrix忽略。
dat=data.frame(a=rnorm(1000), b=rnorm(1000))
dat=dat %>% 
mutate(c=5*(a+b)) %>%
mutate(d=ifelse(c>5, 1, 0))
set.seed(1)
i=sample(1:1000, 750, replace=FALSE)
train_data=dat[i,]
test_data=dat[-i,]
test_data[sample(1:250, 3),1:2]=NA
lr=lm(c ~ a + b, data=train_data)
test_predictions=predict(lr, test_data)
test_predictions=ifelse(test_predictions>5, 1, 0)
confusionMatrix(test_predictions, test_data$d)
Reference
Prediction   0   1
0 187   0
1   0  60

相关内容

  • 没有找到相关文章

最新更新