计算 R-squared
现在您已经计算了模型预测的 RMSE,接下来要评估模型对数据的拟合程度:也就是它解释了多少方差。您可以使用 \(R^2\) 来完成。
设 \(y\) 为真实结果,\(p\) 为模型的预测,\(res = y - p\) 为预测的残差。
则数据的总平方和 $tss$("总方差")为:
$$ tss = \sum{(y - \overline{y})^2} $$
其中 \(\overline{y}\) 是 \(y\) 的均值。
模型的残差平方和 \(rss\) 为: $$ rss = \sum{res^2} $$
$R^2$(R-squared,模型"解释的方差比例")为:
$$ 1 - \frac{rss}{tss} $$
计算 \(R^2\) 后,请将您的结果与 glance()(文档)报告的 \(R^2\) 进行比较。glance() 返回只有一行的数据框;对于线性回归模型,其中一列就是该模型在训练数据上的 $R^2$。
数据框 unemployment 已为您加载,并包含您在之前练习中计算的 predictions 和 residuals 列。unemployment_model 也可直接使用。
本练习是课程的一部分
R 中的监督学习:回归
练习说明
- 计算
female_unemployment的均值并赋给变量fe_mean。 - 计算总平方和并赋给变量
tss。 - 计算残差平方和并赋给变量
rss。 - 计算 $R^2$。拟合是否良好(\(R^2\) 接近 1)?
- 使用
glance()从模型中获取 $R^2$。它是否与您计算的相同?
交互式实操练习
通过完成这段示例代码来试试这个练习。
# unemployment is available
summary(unemployment)
# unemployment_model is available
summary(unemployment_model)
# Calculate and print the mean female_unemployment: fe_mean
(fe_mean <- ___)
# Calculate and print the total sum of squares: tss
(tss <- ___((___ - ___)^2))
# Calculate and print residual sum of squares: rss
(rss <- ___)
# Calculate and print the R-squared: rsq
(rsq <- ___)
# Get R-squared from glance and print it
(rsq_glance <- ___(___)$___)