R语言 决策树 Bagging 随机森林 Random Forest 随机森林变

一、回归

二、对回归准确性进行检验


代码:

#加载包
library (tidyverse)#数据预处理
library(tidytext)#分组排序
library(glmnet)# Lasso & Ridgelibrary ( rpart)#决策树
library(ipred)# Bagging
library( randomForest)#随机森林

#、加载数据
data( 'mtcars ' )

代码:

#数据预处理
data = mtcars %>%
mutate(vs = factor(vs , levels = c(0,1), labels = c( 'V-shaped
, 'straight" )) ,
am = factor(am, levels = c(0,1), labels = c ( ' automatic ', 'manual ' )))

x = model.matrix(mpg~. ,data = data)[ ,-1]#哑元变量转换

y = data$mpg
data = data.frame (mpg = y , x)


#数据集划分
set .seed(1)
train_id = sample(1:nrow(data),0.7*nrow(data))train = data[train_id , ]
test = data[-train_id, ]


#训练模型set.seed(1)
linear_reg = lm(mpg~. ,data = train)
stepwise = step(linear_reg,direction = 'both ' ,trace = 0)cv .ridge = cv.glmnet(x = as.matrix (train[ ,-1]),
y = train$mpg,
family = 'gaussian ' ,alpha = 0,
nfolds = 5)
cv.lasso = cv.glmnet(x = as.matrix (train[ ,-1]),
y = train$mpg,
family = 'gaussian ' ,alpha = 1,
nfolds = 5)
tree = rpart(mpg~. ,data = train)
bag_tree = bagging(mpg~. , data = train)
rf = randomForest(mpg~. , data = train , importance = T)

6随机森林变量重要性
#变量重要性
varImpPlot(rf ,main = 'Variable Importance in Random Forest' )



。。。。。。。。。。。。。。。。。。。。。。。




最后:





