为啥 predict 的输出是 0 水平的因子?

Posted

技术标签:

【中文标题】为啥 predict 的输出是 0 水平的因子?【英文标题】:Why is the output of predict a factor with 0 levels?为什么 predict 的输出是 0 水平的因子? 【发布时间】:2015-12-02 21:45:36 【问题描述】:

我使用e1071 生成了一个朴素贝叶斯分类器,然后运行以下内容

test <- as.data.frame(readRDS('ContactsComplaints2014.rds'))
load(file='data2015.nb.RData')
prediction <- predict(data2015.nb,subset(test[1:3000,], select=-c(didComplain)))

在我输入的终端中

&gt; prediction

得到了

factor(0)
Levels:

为什么?

【问题讨论】:

【参考方案1】:

您需要将要分类的类的名称标记为as.factor()。然后就可以了。

【讨论】:

为什么我们需要这样做?

以上是关于为啥 predict 的输出是 0 水平的因子?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的逻辑回归模型输出的因子不是 2 个水平? (错误:`data`和`reference`应该是相同级别的因素。)

如何调试线性模型和预测的“因子具有新水平”错误[重复]

为啥从 Spark 1.0.1 开始出现 KMeansModel.predict 错误?

为啥HashMap的负载因子是0.75

在 R 中绘制 ROC 曲线时出错 - UseMethod("predict") 中的错误:没有适用于“预测”的方法应用于“因子”类的对象

论文笔记:Autoregressive Tensor Factorizationfor Spatio-temporal Predictions