如何在不使用R的预测功能的情况下修复predict.naive_bayes

问题描述 投票:0回答:1

我有一个带有45045个变量的数据框,而R中只有90个观测值。我做了一个PCA来减小尺寸,我将使用14个主要成分。我需要做预测,我想尝试使用朴素贝叶斯方法。我无法将预测函数与转换后的数据一起使用,并且我不理解该错误。

这里是一些代码:

data.pca

我将使用14台PC:

newdata

培训:

library(naivebayes)

mod.nb

Tryna预测第50个观察值:

test.pca

test.pca

test.pca

pred

我遇到这些错误:

predict.naive_bayes():naive_bayes对象“ mod.nb”中定义的14个特征中只有0个特征用于预测。

predict.naive_bayes():newdata中没有功能对应于对象中的概率表。根据先验概率进行分类

标签的向量是一个级别为1到6的因子,对于我试图预测结果的任何观察,该观察结果仅为1。例如,第50个观察具有标签4。

r pca predict naivebayes
1个回答
0
投票

您可以尝试仅从代码中修改以下代码

data.pca <- prcomp(data)

newdata <- as.data.frame(data.pca$x[,1:14])library(naivebayes)

mod.nb <- naive_bayes(label ~ newdata$PC1+...+newdata$PC14, data = newdata)

test.pca <- predict(mod.nb, newdata = newdata[50,])

© www.soinside.com 2019 - 2024. All rights reserved.