我有一个关于在朴素贝叶斯分类场景中计算RMSE的非常基础的问题。我的训练数据X包含大约1000条评论,评分在[1,5]之间,这些评分是类别标签Y。所以我所做的事情类似于这样:
model = nb_classifier_train(trainingX,Y)Yhat = nb_classifier_test(model,testingX)
我的测试数据包含大约400条评论,缺少评分(我需要预测这些标签/评分)。现在要计算RMSE
RMSE = sqrt(mean((Y - Yhat).^2))
在这种情况下,Y是什么?我理解RMSE是使用预测值与实际值之间的差异来计算的。这里的实际值是什么?还是说缺少了什么东西?
回答:
在这种情况下,Y是你的训练数据的标签,所以你计算的RMSE没有多大意义,因为你是在测试样本上进行预测,并与训练标签进行比较。实际上,Y和Yhat向量甚至可能长度不一致。相反,你应该用测试标签替换Y,如果你没有测试标签,那么你根本无法计算测试误差。