R语言回归模型中的训练集和测试集划分

训练集和测试集划分

set.seed(1234)
nn=0.8
data=iris
length(iris[,1])
sub<-sample(1:nrow(data),round(nrow(data)*nn))
length(sub)
data_train<-audit2[sub,]#取0.8的数据做训练集
data_test<-audit2[-sub,]#取0.2的数据做测试集
dim(data_train)#训练集行数和列数
dim(data_test) #测试集的行数和列数

建立回归模型

mode <- lm(a~.,data=data_train)# 线性回归模型

用回归模型做预测

predictmode=predict(lmodel,data_test)
str(newlmodel)
head(newlmodel)
table1=(newlmodel[,1]-data_test$Petal.Length)
aa=sum(abs(table1))
summary()
nn=aa/length(aa)  ##求得MAD值
plot(newlmodel,col = "black",pch = 1,type = "o",xlab = "x",ylab = "y", axes = FALSE)
lines(data_test$Petal.Length,col = "blue",pch = 1,type = "o")

作出趋势图如下:蓝色表示预测值,黑色表示实际值
R语言回归模型中的训练集和测试集划分_第1张图片

X值和Y值的参数合并传递

Y=“Petal.Width”
X=c(“Sepal.Width”,“Petal.Width”,“Petal.Length”)
XY=union(X,Y)
print(XY)
[1] “Petal.Width” “Sepal.Width” “Petal.Length”

生成新的数据并建模

newdata <- data[,XY]
mode <- lm(Petal.Width~.,data=newdata)# 线性回归模型

你可能感兴趣的:(笔记,R语言,数据分析)