Machine learning 对照已知值测试预测值的准确性

Machine learning 对照已知值测试预测值的准确性,machine-learning,statistics,regression,analysis,prediction,Machine Learning,Statistics,Regression,Analysis,Prediction,如果我想根据已知值评估预测值的准确性,可以执行以下操作: result =absolutevalue((known value - predicted value)/known value) 0.054 =absolutevalue((37 - 39)/37) 因为结果接近于零,这意味着它相当准确 同样地,如果我有一列已知值和一列预测值,那么通过 (cumulative known values - cumulative predicted values) /cumulative kno

如果我想根据已知值评估预测值的准确性,可以执行以下操作:

result =absolutevalue((known value -  predicted value)/known value) 
0.054 =absolutevalue((37 -  39)/37)
因为结果接近于零,这意味着它相当准确 同样地,如果我有一列已知值和一列预测值,那么通过

(cumulative known values - cumulative predicted values) /cumulative known values

如果有人能解释这一点会很有帮助,因为我的模型看起来相当准确,但它描述的分数一点也不准确。

你应该避免评估错误相互抵消的模型。如果将累积值与累积预测进行比较,则可能会出现这种情况

这里有一个例子

> df <- data.frame(known = c(5,17,11,24), predict = c(10,12,15,17))
> df
  known predict
1     5      10
2    17      12
3    11      15
4    24      17
> 
> df$known - df$predict
[1] -5  5 -4  7
> 
。。。但如果你计算一下,你会发现你的预测有超过5个单位的差异

> sqrt(mean((df$known - df$predict)^2))
[1] 5.3619026
。。。标准化为平均值的值要高得多

> sqrt(mean((df$known - df$predict)^2)) / mean (df$known)
[1] 0.37627387
您也可以使用类似的结果计算

> sum(abs(df$known - df$predict)) / nrow(df)
[1] 5.25
> sum(abs(df$known - df$predict)) / nrow(df)
[1] 5.25