如何用代码实现合理地划分测试集和训练集
时间: 2023-08-21 18:06:27 浏览: 45
划分测试集和训练集一般可以采用随机划分的方法。具体实现过程如下:
1. 读入数据集并打乱顺序,以保证数据集的随机性。
2. 根据需求设置测试集和训练集的比例,一般情况下可以将数据集按照7:3或8:2的比例划分为训练集和测试集。比如,我们将数据集按照7:3的比例划分为训练集和测试集,则训练集占70%,测试集占30%。
3. 根据比例将数据集分为训练集和测试集,并分别保存到不同的文件中。
Python代码实现如下:
```python
import random
# 读入数据集
data = [...] # 数据集
# 打乱数据集
random.shuffle(data)
# 设置训练集和测试集的比例
train_ratio = 0.7 # 训练集比例
test_ratio = 0.3 # 测试集比例
# 划分训练集和测试集
train_data = data[:int(len(data) * train_ratio)]
test_data = data[int(len(data) * train_ratio):]
# 保存训练集和测试集到不同的文件中
with open('train.txt', 'w') as f:
for d in train_data:
f.write(d + '\n')
with open('test.txt', 'w') as f:
for d in test_data:
f.write(d + '\n')
```
上述代码中,data表示原始数据集,train_ratio表示训练集比例,test_ratio表示测试集比例。首先,我们通过random.shuffle()函数打乱数据集的顺序,然后根据训练集和测试集的比例划分数据集,并将训练集和测试集保存到不同的文件中。