R中是否存在测定系数的函数?

时间:2018-01-18 06:05:27

标签: r

在sklearn中有一个函数sklearn.metrics.r2_score(y_true, y_pred),我可以给它两个数组并计算r ^ 2。 R中有类似的东西吗?我发现了一些功能,但它们仅适用于GLM。我有一个来自KNN回归的测试集和测试预测,我想计算r ^ 2。我是否需要手动编码?

1 个答案:

答案 0 :(得分:0)

这不是显而易见的事,但caret包有一个函数postResample(),它将计算"性能估计的向量"根据{{​​3}}(非常有用的文档)。 "性能评估"是

  • RMSE
  • Rsquared
  • 平均绝对误差(MAE)

并且必须从像这样的矢量访问

library(caret)
vect1 <- c(1, 2, 3)
vect2 <- c(3, 2, 2)
res <- caret::postResample(vect1, vect2)
rsq <- res[2]

然而,这是使用r平方的相关平方近似。为什么他们没有使用传统的1-SSE / SST超出了我的范围。

实现正常documentation的方法是:

preds <- c(1, 2, 3)
actual <- c(2, 2, 4)
rss <- sum((preds - actual) ^ 2)
tss <- sum((actual - mean(actual)) ^ 2)
rsq <- 1 - rss/tss