使用预测时出错

数据挖掘 机器学习 预测建模 逻辑回归 数据科学模型
2022-02-16 15:53:11

拆分为测试和训练后,glm 函数用于训练集。例如

m1 = glm(target ~ ., data = train, family="binomial")

然后

P = predict(m1,newdata=test, type="response")

在这里,我收到警告消息:

newdata 有 60000 行,但找到的变量有 100000 行

下一步:

table(test$target, P>0.5)

在这里我收到错误:

所有参数必须具有相同的长度

解决方案是什么?

1个回答

为我找工作。也许您在训练/测试集的定义中有一些错误?

library(ISLR)
library(glmnet)
# Load data
iris = iris[iris$Species=="Setosa" | iris$Species=="versicolor",]
iris$Species = as.factor(iris$Species)
# Make a test/train split
set.seed(123)
smp_size <- floor(0.75 * nrow(iris))
train_ind <- sample(seq_len(nrow(iris)), size = smp_size)
train <- iris[train_ind, ]
test <- iris[-train_ind, ]

m1 = glm(Species ~ ., data = train, family="binomial")
p = predict(m1,newdata=test, type="response")
table(test$Species, p>0.5)