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

81 篇文章 2 订阅
78 篇文章 17 订阅

训练集和测试集划分

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)# 线性回归模型
  • 15
    点赞
  • 153
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
下面是使用PyTorch实现神经网络回归模型划分训练集测试集的代码: ```python import torch import torch.nn as nn import numpy as np from sklearn.model_selection import train_test_split # 构造数据集 X = np.random.rand(100, 1) y = 3 * X + 2 + 0.2 * np.random.rand(100, 1) # 划分训练集测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 转换为张量 X_train = torch.from_numpy(X_train).float() y_train = torch.from_numpy(y_train).float() X_test = torch.from_numpy(X_test).float() y_test = torch.from_numpy(y_test).float() # 定义神经网络模型 class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(1, 10) self.fc2 = nn.Linear(10, 1) def forward(self, x): x = torch.relu(self.fc1(x)) x = self.fc2(x) return x # 实例化神经网络模型 net = Net() # 定义损失函数和优化器 criterion = nn.MSELoss() optimizer = torch.optim.SGD(net.parameters(), lr=0.01) # 训练神经网络模型 for epoch in range(1000): optimizer.zero_grad() outputs = net(X_train) loss = criterion(outputs, y_train) loss.backward() optimizer.step() # 在测试集上评估神经网络模型 with torch.no_grad(): y_pred = net(X_test) test_loss = criterion(y_pred, y_test) print('Test loss:', test_loss.item()) ``` 以上代码,首先构造了一个简单的数据集,然后使用`train_test_split`函数将数据集划分训练集测试集。接着将数据集转换为PyTorch张量,并定义了一个包含一个隐藏层的神经网络模型。然后定义了损失函数和优化器,使用训练集训练神经网络模型。最后使用测试集评估神经网络模型的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值