划分数据集python代码
时间: 2023-09-15 10:17:56 浏览: 70
Python数据集切分实例
5星 · 资源好评率100%
以下是一个简单的Python代码,用于将数据集划分为训练集、验证集和测试集:
```python
import os
import random
import shutil
# 设置随机种子
random.seed(42)
# 设置数据集路径和目标文件夹路径
data_dir = 'path/to/dataset'
train_dir = 'path/to/train'
val_dir = 'path/to/validation'
test_dir = 'path/to/test'
# 设置训练集、验证集和测试集的比例
train_ratio = 0.7
val_ratio = 0.2
test_ratio = 0.1
# 获取数据集中所有文件的路径
all_files = os.listdir(data_dir)
file_count = len(all_files)
# 计算训练集、验证集和测试集的大小
train_size = int(file_count * train_ratio)
val_size = int(file_count * val_ratio)
test_size = file_count - train_size - val_size
# 随机打乱文件顺序
random.shuffle(all_files)
# 将文件复制到目标文件夹
for i, file_name in enumerate(all_files):
src_path = os.path.join(data_dir, file_name)
if i < train_size:
dst_path = os.path.join(train_dir, file_name)
elif i < train_size + val_size:
dst_path = os.path.join(val_dir, file_name)
else:
dst_path = os.path.join(test_dir, file_name)
shutil.copy(src_path, dst_path)
```
以上代码首先设置了数据集的路径和目标文件夹的路径,以及训练集、验证集和测试集的比例。然后,它使用`os.listdir()`函数获取数据集中所有文件的路径,并计算训练集、验证集和测试集的大小。接下来,它使用`random.shuffle()`函数随机打乱文件顺序,最后将文件复制到目标文件夹中。
阅读全文