@alistaire, MSE, MSE (), .
- , ( ), , , mse.1 mse.2 , ( , R 3.1.2, x86_64-w64-mingw32, Windows 10):
library(lasso2)
library(glmnet)
data(Prostate)
mse = function(x,y) { mean((x-y)^2)}
smp_size = floor(0.75 * nrow(Prostate))
set.seed(907)
train_ind = sample(seq_len(nrow(Prostate)), size = smp_size)
train = Prostate[train_ind, ]
test = Prostate[-train_ind, ]
xtrain = model.matrix(lpsa~. -1, data = train)
ytrain = train$lpsa
xtest = model.matrix(lpsa~. -1, data = test)
ytest = test$lpsa
pr.lasso = cv.glmnet(xtrain,ytrain,type.measure='mse', keep=TRUE, alpha=1)
lambda.lasso = pr.lasso$lambda.min
lambda.id <- which(pr.lasso$lambda == pr.lasso$lambda.min)
mse.1 = mse(pr.lasso$fit[,lambda.id], ytrain)
cat("MSE (method 1): ", mse.1, "\n")
MSE (method 1): 0.6044496
mse.2 = pr.lasso$cvm[pr.lasso$lambda == lambda.lasso]
cat("MSE (method 2): ", mse.2, "\n")
MSE (method 2): 0.6044496
mse.1 == mse.2
[1] TRUE