Kin*_*Dan 6 statistics r mse mean-square-error
我已经生成了一个线性数据集,并用于lm()将模型拟合到该数据集.我现在正试图找到MSE使用mse()
我知道MSE的公式,但我正在尝试使用此功能.这样做的正确方法是什么?我看过文档,但是我要么愚蠢,要么就是那些真正知道自己在做什么的人的措辞.
library(hydroGOF)
x.linear <- seq(0, 200, by=1) # x data
error.linear <- rnorm(n=length(x.linear), mean=0, sd=1) # Error (0, 1)
y.linear <- x.linear + error.linear # y data
training.data <- data.frame(x.linear, y.linear)
training.model <- lm(training.data)
training.mse <- mse(training.model, training.data)
plot(training.data)
Run Code Online (Sandbox Code Playgroud)
mse()需要两个数据帧.我不确定如何获取数据帧lm().我是否正在为我的数据寻找合适的MSE?
San*_*Dey 13
试试这个:
mean((training.data - predict(training.model))^2)
#[1] 0.4467098
Run Code Online (Sandbox Code Playgroud)
您还可以使用下面提到的非常干净的代码来获得均方误差
install.packages("Metrics")
library(Metrics)
mse(actual, predicted)
Run Code Online (Sandbox Code Playgroud)
第一个数据集是实际的数据集:training.data 第二个参数是您将预测的参数:
pd <- predict(training.model , training.data)
mse(training.data$,pd)
看来你还没有做预测,所以先根据你的模型预测数据,然后计算 mse