我正在寻找帮助,因为我一直在这段代码上停留了一段时间。我想评估我的回归模型RMLSE(均方根误差对数),使用此代码:RMSLE R中的评估
rmlse <- function(model) {
y <- testset$Counts
y.pred <- predict(model, testset)
return(sqrt(1/nrow(y)*sum((log(y.pred +1)-log(testset$Counts +1))^2)))
}
,其中重要的是我的因变量。但是,这只会产生NaN。数据集中没有NA。我似乎无法弄清楚错误发生在哪里,如果有人能够帮助它,我们将非常感谢!
很难说没有一个可重复的例子。你能分享你的数据集的代码片段和从这些数据得到的NaN结果的代码吗? – ulfelder
计算函数外的所有值并检查每个错误。 –
这可能是因为您的数据中可能有一些小于-1的值。在这种情况下,'log(yourvalue + 1)'产生'NaN'。 –