R 为什么训练数据的线性回归拟合值和预测值存在差异? 库(MASS) 数据(波士顿) 主管(波士顿) 索引

R 为什么训练数据的线性回归拟合值和预测值存在差异? 库(MASS) 数据(波士顿) 主管(波士顿) 索引,r,R,区别在于计算机不能准确地处理十进制值。您得到的差异非常非常小,因为内部将任何数字(或任何重要的东西)表示为二进制。要得到一个十进制的精确二进制表示并不总是可能的 如果要检查十进制数是否相等,请使用all.equal: library(MASS) data(Boston) head(Boston) index <- sample(nrow(Boston),nrow(Boston)*.80) train <- Boston[index,] test <- Boston[-index

区别在于计算机不能准确地处理十进制值。您得到的差异非常非常小,因为内部将任何数字(或任何重要的东西)表示为二进制。要得到一个十进制的精确二进制表示并不总是可能的

如果要检查十进制数是否相等,请使用
all.equal

library(MASS)
data(Boston)
head(Boston)
index <- sample(nrow(Boston),nrow(Boston)*.80)
train <- Boston[index,]
test <- Boston[-index,]
model_1 <- lm(medv~.,data=train)
model_1train_p <- predict(model_1)
mean(model_1$fitted.values - model_1train_p)
返回:

all.equal(model_1$fitted.values, model_1train_p)

区别在于计算机无法准确地处理十进制值。您得到的差异非常非常小,因为内部将任何数字(或任何重要的东西)表示为二进制。要得到一个十进制的精确二进制表示并不总是可能的

如果要检查十进制数是否相等,请使用
all.equal

library(MASS)
data(Boston)
head(Boston)
index <- sample(nrow(Boston),nrow(Boston)*.80)
train <- Boston[index,]
test <- Boston[-index,]
model_1 <- lm(medv~.,data=train)
model_1train_p <- predict(model_1)
mean(model_1$fitted.values - model_1train_p)
返回:

all.equal(model_1$fitted.values, model_1train_p)