[英]R predict function returning NULL value
因此,我尝试使用线性判别分析来获得混淆矩阵,但我的预测 function 在环境中一直具有值“NULL”。
我的代码是
library(ISLR)
library(MASS)
data(Default)
set.seed(42); TrData = sample(nrow(Default), nrow(Default)*0.5)
TrSet = Default[TrData,]
fit= lda(default ~ income+balance, data=TrSet)
fit.p = predict(fit,newdata=TrSet[,-c(1)])$default
fit.p 的值为 NULL 所以我无法获得混淆矩阵 我哪里出错了?
编辑:更新后,您将$Class
更改为$default
。 你仍然应该使用$class
。
所以你子集$Class
而不是$class
,因为来自列表或环境的不存在的文件给你 NULL。
ee <- new.env()
ll <- list()
ee[["WRONG"]]
# NULL
ll[["WRONG"]]
# NULL
来自MASS::lda
示例,最后一行是$class
NOT $Class
:
library(ISLR)
library(MASS)
data(Default)
set.seed(42)
TrData = sample(nrow(Default), nrow(Default) * 0.5)
TrSet = Default[TrData, ]
fit= lda(default ~ income + balance, data = TrSet)
fit.p = predict(fit,newdata = TrSet)$class
在您的示例中,请将最后一行更新为fit.p = predict(...)$class
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.