You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用sklearn拆分图像数据集后找不到训练测试输出怎么办

问题原因

你对sklearn.model_selection.train_test_split的功能存在误解:

  • 这个函数仅用于对输入的列表、数组等序列数据做比例切分,返回的是切分后的两组序列对象,不会自动操作文件、也不会生成任何文件夹
  • 你当前的代码仅向函数传入了路径字符串".\dataset",相当于只对这个字符串做了无意义的切分,output_split变量只是内存中存储的两个包含该路径字符串的列表,根本不会生成本地的output_split文件夹。

正确实现步骤

你需要补充读取文件路径、创建目标文件夹、复制文件的逻辑,示例代码如下:

import os
import shutil
from sklearn.model_selection import train_test_split

# 配置参数
dataset_path = "./dataset"
train_ratio = 0.7
test_ratio = 0.3

# 1. 读取所有jpg文件路径
all_jpg_paths = [os.path.join(dataset_path, f) for f in os.listdir(dataset_path) if f.lower().endswith('.jpg')]

# 2. 切分路径列表
train_paths, test_paths = train_test_split(all_jpg_paths, train_size=train_ratio, test_size=test_ratio, random_state=42)

# 3. 创建训练集、测试集文件夹
os.makedirs("./train", exist_ok=True)
os.makedirs("./test", exist_ok=True)

# 4. 复制文件到对应文件夹
for path in train_paths:
    shutil.copy(path, os.path.join("./train", os.path.basename(path)))
for path in test_paths:
    shutil.copy(path, os.path.join("./test", os.path.basename(path)))

运行后,训练集和测试集的图片会分别存储在脚本同级的train和test文件夹中。


内容的提问来源于stack exchange,提问作者seni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 04:15:03