训练集和测试集划分
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")
作出趋势图如下:蓝色表示预测值,黑色表示实际值
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)# 线性回归模型
|
请发表评论