有两个数据框: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工作,但我想预测测试数据。你能告诉我怎样才能克服这个问题?
答案 0 :(得分:0)
您必须使用与用于培训 的测试数据相同的离散化。
不要独立地将它们diacretize。