【问题标题】:To test the accuracy of a predicted value against the known value测试预测值与已知值的准确性
【发布时间】:2018-08-24 14:42:39
【问题描述】:

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

result =absolutevalue((known value -  predicted value)/known value) 
0.054 =absolutevalue((37 -  39)/37)

因为结果接近于零,这意味着它非常准确 同样,如果我有一列值知道值和一列预测的预测值,那么

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

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

【问题讨论】:

    标签: machine-learning statistics regression analysis prediction


    【解决方案1】:

    您应该避免对错误相互抵消的模型进行评估。如果您将累积值与累积预测进行比较,就可能发生这种情况。

    这是一个例子

    > 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
    > 
    

    累积相对差异很小……

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

    ...但是如果您计算 RMSE,您会发现您的预测差异超过 5 个单位

    > sqrt(mean((df$known - df$predict)^2))
    [1] 5.3619026
    

    ...归一化为您的值的平均值要高得多

    > sqrt(mean((df$known - df$predict)^2)) / mean (df$known)
    [1] 0.37627387
    

    你也可以计算Mean absolute error,得到类似的结果

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-03
      • 2018-11-04
      • 1970-01-01
      • 2022-12-25
      相关资源
      最近更新 更多