@nathan-day 指出,您可以手动计算回归误差指标,例如均方根误差 (RMSE) 或误差平方和 (SSE)。大多数实现会自动为您执行此操作,因此您通常不需要手动执行此操作。
出于绘图的目的,我现在将使用一个稍微大一点的示例,其中包含更多样本,因为它会更好地理解(R 附带的iris 数据集)。首先,我们训练一个线性模型从前 3 个特征中预测第 4 个特征,该模型已经计算了一些指标:
> model <- train(iris[,1:3], iris[,4], method = 'lm', metric = 'RMSE', trControl = trainControl(method = 'repeatedcv', number = 10, repeats = 10))
> print(model)
Linear Regression
150 samples
3 predictors
No pre-processing
Resampling: Cross-Validated (10 fold, repeated 10 times)
Summary of sample sizes: 134, 135, 135, 136, 134, 135, ...
Resampling results
RMSE Rsquared RMSE SD Rsquared SD
0.19 0.942 0.0399 0.0253
现在也可以根据目标变量的预测值和实际值手动计算 RMSE、SSE 等:
predicted <- predict(model, iris[,1:3]) # perform the prediction
actual <- iris[,4]
sqrt(mean((predicted-actual)**2)) # RMSE
sum((predicted-actual)**2) # SSE
使用重复交叉验证导致上述模型训练的结果略有不同(因此指标列在“重采样结果”下)。
对于绘图部分:回归误差可以很容易地通过将预测值与实际目标变量进行绘图,和/或通过将误差与实际值进行绘图来可视化。完美拟合由这些图中的附加线表示。这也可以通过标准工具轻松实现:
plot(predicted~actual)
abline(0,1)
plot(predicted-actual~actual)
abline(0,0)
PS:如果您不熟悉回归/分类误差测量和稳健的 ML 程序,我强烈建议您花一些时间阅读这些主题 - 以后可能会为您节省大量时间。我个人会推荐 Max Kuhn(R 中 caret 包的维护者)和 Kjell Johnson 的 Applied Predictive Modeling,因为它易于阅读且非常实用。