【问题标题】:using predict on a regression model在回归模型上使用预测
【发布时间】:2019-01-10 23:28:05
【问题描述】:

我试图弄清楚如何通过我的回归模型来测试它与我的数据集的另一部分,这样我就可以开始我的困惑 matrix 但我不知道我做错了什么。

studentreport<-read.csv("C:\\Users\\Joseph\\Downloads\\studentreport dataset full imp.csv",header=T,sep=",")
studentreport<-data.frame(studentreport)

smp_size <- floor(0.75 * nrow(studentreport))

set.seed(123)
train_ind <- sample(seq_len(nrow(studentreport)), size = smp_size)

train <- studentreport[train_ind, ]
test <- studentreport[-train_ind, ]

fitreport<-glm(train)
Fitstart=glm(Enrolling~1,data=train)

Report<-step(Fitstart,direction="forward",scope=formula(fitreport))

predict(Report, newdata = test,type ="response")

当我这样做时,我得到了这个错误:

“model.frame.default 中的错误(条款,新数据,na.action = na.action, xlev = object$xlevels) : 因子状态有新的级别 AP"

复制:Report studentreport

【问题讨论】:

  • 您好,问题很可能是您的数据框中有一个因子,并且该因子的所有级别都存在于测试数据集中。也可以在这里查看这个问题stackoverflow.com/questions/16493920/…
  • 请用谷歌搜索“model.frame.default 新关卡中的错误”。这已被多次询问,错误说明了问题。该变量包含不属于模型已被训练的设计矩阵的一部分,因为它们不在训练数据集中,或者由于其他变量中的缺失值而导致观察被删除而被删除。
  • 那么代码predict(Report, newdata=test, type response)是正确的写法吗?

标签: r regression logistic-regression predict confusion-matrix


【解决方案1】:

我报告了您发布的代码。由于我没有在您的数据中找到 Enrolling 列,因此为了进行模型检查,我在 GPATypeWeighted 列上使用了 glm。未检测到预测错误。

library(leaps)
library(caret)
studentreport <- dget("https://drive.google.com/uc?authuser=0&id=1PHpkhPpEjIt-apCJpzvAKAlWZTPX7Evv&export=download")
studentreport <- data.frame(studentreport)
smp_size <- floor(0.75 * nrow(studentreport))

set.seed(123)
train_ind <- sample(seq_len(nrow(studentreport)), size = smp_size)

train <- studentreport[train_ind, ]
test <- studentreport[-train_ind, ]

fitreport <- glm(train)
Fitstart = glm(GPATypeWeighted ~ 1, data = train)

Report <- step(Fitstart, direction="forward", scope = formula(fitreport))

predict(Report, newdata = test, type ="response")

输出:

           3            4            5            7           13           14           16           23           27           36 
1.000000e+00 1.000000e+00 1.000000e+00 1.804986e-15 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 
          37           43           44           56           57           60           62           64           66           69 
1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 2.097525e-15 
          70           79           82           86           91           92           93           96           97          100 
1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 
         101          108          112          114          115          116          117          120          123          138 
1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 2.199615e-15 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 
         140          148          155          157          158          161          164          165          174          177 
1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 
         180          185          187          200          203          204          207          214          215          216 
1.000000e+00 1.000000e+00 1.000000e+00 1.756027e-15 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.686952e-15 1.000000e+00 
         222          239          248 
1.000000e+00 1.000000e+00 1.000000e+00 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-02
    • 2020-06-07
    • 1970-01-01
    • 2017-12-23
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    相关资源
    最近更新 更多