# Machine Learning Regression Ridge lasso
install.packages(c("caret", ";", "glmnet;", "mlbench;", "psych"))
library(caret)
library(glmnet)
library(mlbench)
library(psych)
library(ggplot2)
# data set, reg2
reg1<-read.csv("C:/Users/Administrator.vaio1/Desktop/reg2.csv")
# keep only those variables which are suppose to be used in analysis
reg1X<-reg1[,8:19]
reg1X<-as.matrix(reg1X)
fix(reg1X)
reg1Y<-as.matrix(reg1[,20])
fix(reg1Y)
lambda1<-10^seq(10,-2,length =100)
ridge1<-glmnet(reg1X, reg1Y, alpha = 0, lambda = lambda1)
plot(ridge1)
ridge1$lambda[1]
coef(ridge1)[,1] # dislay the first model
ridge1$lambda[2]
coef(ridge1)[,2] # dislay the first model
ridge1$lambda[100]
coef(ridge1)[,100] # dislay the first model
lasso1<-glmnet(reg1X, reg1Y, alpha = 1, lambda = lambda1)
plot(ridge1)
lasso1$lambda[1]
coef(lasso1)[,1] # dislay the first model
lasso1$lambda[2]
coef(lasso1)[,2] # dislay the first model
lasso1$lambda[100]
coef(lasso1)[,100] # dislay the first model
install.packages(c("caret", ";", "glmnet;", "mlbench;", "psych"))
library(caret)
library(glmnet)
library(mlbench)
library(psych)
library(ggplot2)
# data set, reg2
reg1<-read.csv("C:/Users/Administrator.vaio1/Desktop/reg2.csv")
# keep only those variables which are suppose to be used in analysis
reg1X<-reg1[,8:19]
reg1X<-as.matrix(reg1X)
fix(reg1X)
reg1Y<-as.matrix(reg1[,20])
fix(reg1Y)
lambda1<-10^seq(10,-2,length =100)
ridge1<-glmnet(reg1X, reg1Y, alpha = 0, lambda = lambda1)
plot(ridge1)
ridge1$lambda[1]
coef(ridge1)[,1] # dislay the first model
ridge1$lambda[2]
coef(ridge1)[,2] # dislay the first model
ridge1$lambda[100]
coef(ridge1)[,100] # dislay the first model
lasso1<-glmnet(reg1X, reg1Y, alpha = 1, lambda = lambda1)
plot(ridge1)
lasso1$lambda[1]
coef(lasso1)[,1] # dislay the first model
lasso1$lambda[2]
coef(lasso1)[,2] # dislay the first model
lasso1$lambda[100]
coef(lasso1)[,100] # dislay the first model
#-------------------------------------#
#--------------------------------------------------------------#
# Machine Learning Regression Ridge lasso
install.packages(c("caret", ";", "glmnet;", "mlbench;", "psych"))
library(caret)
library(glmnet)
library(mlbench)
library(psych)
library(ggplot2)
reg1<-read.csv("C:/Users/Administrator.vaio1/Desktop/reg2.csv")
reg1<-reg1[,8:20]
# linear regression
lm<-train(X19~.,reg1, method= "lm")
summary(lm)
# ridge regression
ridge1<-train(X19~.,reg1, method= "glmnet",
tuneGrid=expand.grid(alpha =0, lambda = seq(0.0001,1,length=100)))
ridge1
plot(ridge1)
plot(ridge1$finalModel)
plot(ridge1$finalModel, xvar = "lambda", label = TRUE)
# parameters alpha and lambda
ridge
ridge$bestTune
# coeficient of best model
coef(ridge$finalModel)
coef(ridge$finalModel, s=ridge$bestTune$lambda) # for which value of lambda
coef(ridge$finalModel, s=ridge$bestTune$alpha) # for which value of alpha
plot(varImp(ridge1))
# best model of ridge
ridge1$bestTune
bestridge<-ridge1$finalModel
coef(bestridge, s=ridge1$bestTune$lambda)
# lasso regression
lasso1<-train(X19~.,reg1, method= "glmnet",
tuneGrid=expand.grid(alpha =1, lambda = seq(0.0001,1,length=100)))
lasso1
plot(lasso1)
plot(lasso1$finalModel)
plot(lasso1$finalModel, xvar = "lambda", label = TRUE)
plot(lasso1$finalModel, xvar = "dev", label = TRUE)
plot(varImp(lasso1))
# best model of lasso
lasso1$bestTune
bestlasso<-lasso1$finalModel
coef(bestlaso, s=lasso1$bestTune$lambda)
# elastic net regression
en1<-train(X19~.,reg1, method= "glmnet",
tuneGrid=expand.grid(alpha =seq(0,1, length=10), lambda = seq(0.0001,1,length=100)))
plot(en1)
plot(en1$finalModel)
plot(en1$finalModel, xvar = "lambda", label = TRUE)
plot(en1$finalModel, xvar = "dev", label = TRUE)
plot(varImp(en1))
# best model of elastic net
en1$bestTune
besten<-en1$finalModel
coef(besten, s=en1$bestTune$lambda)
No comments:
Post a Comment