编写pytorch代码,将10行15列的数据集划分为训练集和测试集,用numPy转换成torch张量,归一化,保存为csv格式
时间: 2024-03-23 14:42:41 浏览: 86
下面是一个示例代码,实现了将10行15列的数据集划分为训练集和测试集,使用NumPy转换为PyTorch张量,对数据进行归一化处理,并将结果保存为CSV格式的文件。
```python
import numpy as np
import torch
import pandas as pd
# 生成一个大小为(10, 15)的随机数据集
data = np.random.rand(10, 15)
# 划分训练集和测试集
train_data = data[:8, :]
test_data = data[8:, :]
# 将数据转换为PyTorch张量
train_tensor = torch.from_numpy(train_data).float()
test_tensor = torch.from_numpy(test_data).float()
# 对数据进行归一化
train_tensor = (train_tensor - train_tensor.min()) / (train_tensor.max() - train_tensor.min())
test_tensor = (test_tensor - train_tensor.min()) / (train_tensor.max() - train_tensor.min())
# 将结果保存为CSV格式的文件
train_df = pd.DataFrame(train_tensor.numpy())
train_df.to_csv('train_data.csv', index=False)
test_df = pd.DataFrame(test_tensor.numpy())
test_df.to_csv('test_data.csv', index=False)
```
上述代码中,我们先生成了一个大小为(10, 15)的随机数据集,然后将其划分为训练集和测试集。接着,我们使用torch.from_numpy函数将NumPy数组转换为PyTorch张量,将数据类型设置为float,以便进行归一化处理。然后,我们使用(train_tensor - train_tensor.min()) / (train_tensor.max() - train_tensor.min())的公式对训练集和测试集进行归一化处理。最后,我们使用pandas库将结果保存为CSV格式的文件,其中index=False表示不保存索引列。
需要注意的是,保存为CSV格式的文件只是为了演示,实际使用中可以根据需要选择其他格式的文件,例如Numpy文件、HDF5文件等。另外,在实际应用中,还需要考虑如何加载和使用归一化器,以便在测试集上进行归一化。
阅读全文