示例一个使用pytorch分析数据的程序
时间: 2024-03-15 19:47:30 浏览: 61
關於PYTORCH的搭建流程程序代碼示例
以下是一个使用PyTorch分析数据的示例程序,该程序使用线性回归模型来预测房价:
```python
import torch
import torch.nn as nn
import pandas as pd
# 定义线性回归模型
class LinearRegression(nn.Module):
def __init__(self, input_size, output_size):
super(LinearRegression, self).__init__()
self.linear = nn.Linear(input_size, output_size)
def forward(self, x):
out = self.linear(x)
return out
# 读取数据
data = pd.read_csv('house_price.csv')
# 划分数据
x_train = torch.tensor(data['area'].values, dtype=torch.float32).view(-1, 1)
y_train = torch.tensor(data['price'].values, dtype=torch.float32).view(-1, 1)
# 定义模型、损失函数和优化器
model = LinearRegression(1, 1)
loss_fn = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.0001)
# 训练模型
for epoch in range(1000):
# 前向传播
y_pred = model(x_train)
# 计算损失
loss = loss_fn(y_pred, y_train)
# 反向传播
optimizer.zero_grad()
loss.backward()
optimizer.step()
# 打印损失
if (epoch+1) % 100 == 0:
print('Epoch [{}/{}], Loss: {:.4f}'.format(epoch+1, 1000, loss.item()))
# 测试模型
x_test = torch.tensor([50, 100, 150, 200], dtype=torch.float32).view(-1, 1)
y_test = model(x_test)
print('预测结果:', y_test.detach().numpy())
```
该程序的主要步骤如下:
1. 定义线性回归模型,继承自`nn.Module`类。
2. 读取数据,将输入数据和输出标签分别存储在`x_train`和`y_train`中。
3. 定义模型、损失函数和优化器,使用随机梯度下降(SGD)优化器来更新模型参数。
4. 训练模型,循环执行1000轮,每轮计算损失、反向传播和更新参数。
5. 测试模型,使用训练好的模型来预测新数据。
该程序演示了如何使用PyTorch来构建、训练和测试模型,具体实现可以根据实际需求进行修改。
阅读全文