抽取不同文件夹数据划分为训练集测试集
时间: 2024-04-08 10:33:07 浏览: 90
要将不同文件夹中的数据划分为训练集和测试集,你可以按照以下步骤进行:
1. 遍历每个文件夹,并将文件夹路径存储在一个列表中。
2. 对于每个文件夹,可以使用随机抽样的方式将数据划分为训练集和测试集。你可以自定义训练集和测试集的比例,例如 80% 的数据作为训练集,20% 的数据作为测试集。
3. 对于每个文件夹,可以使用文件操作库(如Python中的`os`库)来获取文件列表。
4. 针对每个文件夹的文件列表,可以使用随机抽样的方式将文件分配到训练集和测试集。你可以使用随机数生成器来生成随机索引或者使用现成的库函数,如`random.sample()`。
5. 将训练集和测试集的文件路径分别存储在两个不同的列表中。
下面是一个示例代码片段,演示如何将不同文件夹中的数据划分为训练集和测试集:
```python
import os
import random
# 文件夹路径列表
folder_paths = ['folder1', 'folder2', 'folder3']
# 训练集和测试集比例
train_ratio = 0.8
# 存储训练集和测试集文件路径的列表
train_files = []
test_files = []
# 遍历每个文件夹
for folder_path in folder_paths:
# 获取文件列表
file_list = os.listdir(folder_path)
# 随机抽样,划分训练集和测试集
train_size = int(len(file_list) * train_ratio)
train_samples = random.sample(file_list, train_size)
test_samples = list(set(file_list) - set(train_samples))
# 构建训练集和测试集文件路径列表
train_files.extend([os.path.join(folder_path, file) for file in train_samples])
test_files.extend([os.path.join(folder_path, file) for file in test_samples])
# 打印训练集和测试集文件路径列表
print("Train Files:")
print(train_files)
print("Test Files:")
print(test_files)
```
这个示例代码可以根据你的需求进行修改和扩展,例如你可以添加更多的文件夹路径,调整训练集和测试集的比例等。希望对你有所帮助!如果还有其他问题,请继续提问。
阅读全文