【问题标题】:Regression evaluation in RR中的回归评估
【发布时间】:2011-06-21 15:45:38
【问题描述】:

是否有任何实用程序/包可用于在一些标记的测试数据上显示回归模型的各种性能指标?我可以轻松编写基本内容,例如 RMSE、R-squared 等,但可能需要一些额外的可视化实用程序,或报告预测置信度/方差的分布,或其他我没有想到的东西。这通常在大多数训练实用程序(如插入符号的火车)中报告,但仅限于训练数据(AFAICT)。提前致谢。

【问题讨论】:

  • 您对 caret 的看法是错误的 - cran.r-project.org/web/packages/caret/vignettes/caretTrain.pdf 的第 4 节展示了如何使用该包来评估测试集的性能。
  • 对于那些考虑近距离投票的人——我在这里看到了一个真正的问题,这不是@Chase 回答的问题;它比这更具体。我想它归结为; “哪些 R 包可用于在机器学习环境中评估模型?”
  • 我已通读该 PDF,第 4 节仅显示分类,而不是回归。
  • 不,不是,请阅读第一行。它可能只演示如何使用该函数进行分类,但插入符号也可以处理回归。

标签: r


【解决方案1】:

这个问题确实很宽泛,应该集中一点,但这里有一个函数子集,用于处理线性模型:

x <- rnorm(seq(1,100,1))
y <- rnorm(seq(1,100,1))
model <- lm(x~y)

#general summary
summary(model)
#Visualize some diagnostics
plot(model)
#Coefficient values
coef(model)
#Confidence intervals
confint(model)
#predict values
predict(model)
#predict new values
predict(model, newdata = data.frame(y = 1:10))
#Residuals
resid(model)
#Standardized residuals
rstandard(model)
#Studentized residuals
rstudent(model)
#AIC
AIC(model)
#BIC
BIC(model)
#Cook's distance
cooks.distance(model)
#DFFITS
dffits(model)
#lots of measures related to model fit
influence.measures(model)

【讨论】:

  • 这些涵盖了我正在寻找的一些东西,尽管到处都是。没有 MSE、RMSE、MAE、MAPE、RSE、R2 等?没有什么可以把所有东西都用一个插入符号联系起来?
  • 这些都是基于训练数据,而杨(现在也是我)正在寻找评估测试数据的方法。
【解决方案2】:

可以使用推荐的包boot计算模型参数的引导置信区间。这是一个非常通用的包,需要您编写一个简单的包装函数来返回感兴趣的参数,比如用一些提供的数据拟合模型并返回一个模型系数,同时它会处理其余部分,进行采样和计算间隔等。

还可以考虑 caret 包,它是大量建模函数的封装,但也提供了使用独立测试集或重新采样的一系列指标比较模型性能的工具训练数据(k-fold,bootstrap)。 caret 有据可查且非常易于使用,但要充分利用它,您需要熟悉要使用的建模功能。

【讨论】:

  • 感谢您提供有关引导的提示。至于我的问题,你能否更具体一点?插入符号?正是这些用于比较独立测试集上的回归模型性能的工具,即使在搜索参考之后,我也找不到。
  • @Yang 第 4 节的 第一行 提到了回归:“可以使用 postResample 函数获得与训练生成的回归或分类相同的性能度量。”因此,请查看该功能的帮助。我的经验是插入符号适用于回归,就像分类一样,但具有适当的测量值(如 MSE 或 RMSEP)。您将不得不自己做一些工作。
  • 谢谢。我已经阅读了(以及您的上一份文件),但永远不会猜到那是我所寻求的。不过,似乎只显示 RMSE 和 R2。
  • @Yang 我认为不会有 one 工具可以满足您的所有需求。参数的置信区间在机器学习中的重要性较低,要么是因为许多技术实际上没有参数,要么只关心预测能力。您可以使用 caret 来完成一些工作,然后使用 boot 来获取引导 CI 的参数。至于预测置信区间,k-fold CV 可以给出标准误差,并且可以使用 bootstrap 生成预测区间。但是其中一些你将不得不自己组合起来。
猜你喜欢
  • 2016-10-03
  • 2021-06-16
  • 2017-12-15
  • 1970-01-01
  • 2018-04-30
  • 2020-01-31
  • 2020-01-28
  • 2021-10-18
  • 1970-01-01
相关资源
最近更新 更多