编写pytorch代码,将np格式的特征集训练集的4列转换为2列
时间: 2024-03-24 09:37:38 浏览: 63
Pytorch自己加载单通道图片用作数据集训练的实例
可以使用PyTorch中的Tensor来完成这个任务。假设你的特征集训练集是一个numpy数组`data`,其中有4列。可以使用以下代码将其中的4列转换为2列:
```python
import torch
import numpy as np
# 定义数据
data = np.random.rand(100, 4)
tensor_data = torch.from_numpy(data)
# 转换为2列
new_tensor_data = torch.stack((tensor_data[:, 0], tensor_data[:, 1], tensor_data[:, 2], tensor_data[:, 3]), dim=1)
new_tensor_data = new_tensor_data.view(-1, 2)
# 转换回numpy数组
new_data = new_tensor_data.numpy()
```
首先,我们将numpy数组`data`转换为PyTorch的Tensor对象`tensor_data`。然后,我们使用`torch.stack()`函数将4列数据堆叠在一起,并指定`dim=1`参数来表示在第二维度上进行堆叠。接着,我们使用`view()`函数将数据重新排列成2列,并使用`-1`参数来自动推断第一维度的大小。最后,我们使用`numpy()`函数将Tensor对象转换回numpy数组。
阅读全文