插入符号如何计算 R 平方

机器算法验证 r平方 插入符号 助推
2022-04-09 19:48:27

从下面的训练输出中,看起来 R 平方不是由传统公式 1 - SSE/SST 计算的,因为较低的错误率具有较低的 R 平方。那么它是如何计算的呢?

  colsample_bytree  min_child_weight  RMSE      Rsquared 
  0.4               3                 16963.39  0.8799191
  0.4               5                 16813.24  0.8788395
2个回答

代码在这里:

> R2
function(pred, obs, formula = "corr", na.rm = FALSE) {
    n <- sum(complete.cases(pred))
    switch(formula,
           corr = cor(obs, pred, use = ifelse(na.rm, "complete.obs", "everything"))^2,
           traditional = 1 - (sum((obs-pred)^2, na.rm = na.rm)/((n-1)*var(obs, na.rm = na.rm))))
  }

它遵循计算R然后平方的想法。有很多公式R^2可以使用。克瓦尔塞斯。关于 R^2 的注意事项。美国统计学家 (1985) 卷。39 (4) 第 279-285 页所有这些都在 中进行了描述?R2

更新:该R2功能已弃用postResample您现在可以通过函数获取 R2 。

代码在这里,并在第 136 行和第 142 行显示公式:

resamplCor <- try(cor(pred, obs, use = "pairwise.complete.obs"), silent = TRUE
...
out <- c(sqrt(mse), resamplCor^2, mae)

因此postResample使用平方相关来计算 R2。