【发布时间】:2018-10-17 17:46:33
【问题描述】:
有两个数据框:trainReady(288obs.) 和 testReady(112obs.)。这些数据帧包含 55 个属性(54 个连续属性和 1 个二进制类属性)。我已经将这 54 个属性离散化为 10 个部门、级别(假设每个级别的观察数量相同)。 obs的数量。 trainReady 中的两个班级几乎相等。在testReady 也是。类属性被视为因素。下面我发布一些数据帧:
trainReady
当我尝试运行这些行时(如您所见,我已将阈值设置为忽略“0-频率”问题):
model_bayes <- naiveBayes(isFace ~ ., data = trainReady)
prediction <- predict(model_bayes, testReady[,-1], threshold = 0.001, eps = 0)
我收到:
Error in [.default(object$tables[[v]], , nd + islogical[attribs[v]]) :
subscript out of bounds
我已经做了什么来帮助自己克服这个问题:
-
model_bayes <- naiveBayes(isFace ~ ., data = trainReady, drop.unused.levels = FALSE) - 预测用于训练模型的数据:
prediction <- predict(model_bayes, trainReady[,-1], threshold = 0.001, eps = 0)
1 不起作用,2 起作用,但我想预测测试数据。你能告诉我如何解决这个问题吗?
【问题讨论】:
-
请不要在图片中提供您的数据。我们不想再次全部输入以重现您的问题。相反,请使用
dput(testReady)和dput(trainReady)并将结果复制到您的问题中,以便我们可以剪切并粘贴到 R 中。
标签: r machine-learning classification naivebayes