pytorch的多变量预测
时间: 2023-05-26 18:01:42 浏览: 90
pytorch利用LSTM实现对股票进行多变量多步预测
A:PyTorch是一个流行的开源机器学习框架,可以用于多变量预测。多变量预测通常涉及多个输入变量(或特征)和单个输出变量(或目标)。以下是一个基本的多变量预测示例:
```
import torch
import torch.nn as nn
import torch.optim as optim
import numpy as np
# Prepare data
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
y = np.array([20, 50, 80, 110])
# Convert data to tensors
x = torch.tensor(x, dtype=torch.float32)
y = torch.tensor(y, dtype=torch.float32)
# Define model
class LinearRegression(nn.Module):
def __init__(self):
super(LinearRegression, self).__init__()
self.linear = nn.Linear(3, 1)
def forward(self, x):
return self.linear(x)
model = LinearRegression()
# Define loss function and optimizer
criterion = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# Train model
for epoch in range(1000):
# Forward pass
y_pred = model(x)
# Compute loss
loss = criterion(y_pred, y.view(-1, 1))
# Backward pass and optimize
optimizer.zero_grad()
loss.backward()
optimizer.step()
# Make predictions
test_x = np.array([[13, 14, 15], [16, 17, 18]])
test_x = torch.tensor(test_x, dtype=torch.float32)
print(model(test_x))
```
在此示例中,我们使用了线性回归模型,以多维数组`x`作为输入变量,以`y`作为输出变量。我们使用均方误差损失函数和随机梯度下降优化器来训练模型。最后,我们对模型进行了测试,对新的输入数据进行了预测。
阅读全文