## ---- include=FALSE------------------------------------------------------
library(caret)
library(mlbench)
library(leaps)
library(lib7af)
#library(MASS)
seed <- 111
set.seed(seed)
tracon <- caret::trainControl("cv")
data("BostonHousing")
## ------------------------------------------------------------------------
tr_data_index<-createDataPartition(BostonHousing$medv, p=0.7, times= 1, list= FALSE)
tr_data<-BostonHousing[tr_data_index,]
te_data<-BostonHousing[-tr_data_index,]
## ---- echo=FALSE---------------------------------------------------------
l_n_m<-train(medv~., tr_data, method="lm", trControl = tracon)
l_n_m
l_n_M<-train(medv~., tr_data, method="leapForward", trControl = tracon)
l_n_M
## ----evaluation----------------------------------------------------------
l_n_m$results$RMSE
l_n_M$results$RMSE
## ---- include=FALSE------------------------------------------------------
# Acknowledgement to Eric Herwin and Albin Vasterlund
ridge_example<- list(type = "Regression",
library ="lib7af",
loop= NULL,
prob=NULL)
ridge_example$parameters<-data.frame(parameter="lambda",
class="numeric",
label="Ridge Regression")
ridge_example$grid<-function(x,y,len=NULL, search="grid"){
data.frame(lambda=lambda)
}
ridge_example$fit <- function (x, y, wts, param, lev, last, classProbs, ...) {
d_rid <- if (is.data.frame(x))
x
else as.data.frame(x)
d_rid$.outcome<-y
results<-ridgereg(.outcome ~ ., data=d_rid ,lambda = param$lambda, ...)
return(results)
}
ridge_example$predict<-function (modelFit, newdata, submodels = NULL) {
if (!is.data.frame(newdata))
newdata <- as.data.frame(newdata)
newdata <- scale(newdata)
return(modelFit$predict(newdata))
}
## ----lambda--------------------------------------------------------------
set.seed(seed)
result<-c()
for(lambda in seq(0, 20, by = 1)) {
zwes <- train(medv~., data = tr_data, ridge_example)
result[lambda] <- zwes$results$RMSE
}
lambda <- which.min(result) / 10
RMSE <- result[which.min(result)]
lambda
RMSE
count<-10
l_val<-seq(0.1,by=.1)
fit_control<-trainControl(method="repeatedcv",
number=count,
repeats= count)
ridge_example<-train(medv~.,
data=te_data,
method=ridge_example,
trControl= fit_control)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.