我现有有100个样本,其中每个样本有361个数据,前360个数据为输入数据,最后一个为我想要预测的输出数据,你可以帮我写一份代码来形成训练数据和测试数据吗
时间: 2024-04-30 21:22:15 浏览: 5
当然可以,以下是示例代码:
```python
import numpy as np
# 定义样本数量和每个样本的输入数据数量
num_samples = 100
input_size = 360
# 生成随机数据作为样本
data = np.random.rand(num_samples, input_size + 1)
# 将最后一个数据(即输出数据)分离出来
inputs = data[:, :input_size]
outputs = data[:, input_size]
# 将样本打乱顺序
indices = np.arange(num_samples)
np.random.shuffle(indices)
inputs = inputs[indices]
outputs = outputs[indices]
# 将数据集分成训练集和测试集,这里的比例为7:3
split_index = int(num_samples * 0.7)
train_inputs = inputs[:split_index]
train_outputs = outputs[:split_index]
test_inputs = inputs[split_index:]
test_outputs = outputs[split_index:]
```
这份代码会生成100个样本,每个样本有360个输入数据和1个输出数据。我们先使用 np.random.rand() 函数生成随机数据。然后将每个样本的输入数据和输出数据分离出来。使用 np.random.shuffle() 将样本打乱顺序。最后将数据集分成训练集和测试集,这里的比例为7:3。
你可以根据实际需要修改 num_samples 和 input_size,以及训练集和测试集的比例。