美文网首页
划分数据集(python)

划分数据集(python)

作者: huim | 来源:发表于2018-10-28 21:12 被阅读0次

将特定文件路径下的图片数据划分为训练集、验证集和测试集。

import glob
import os.path
import random

# 数据路径
INPUT_DATA = './flower_photos'

 # 按一定比例划分数据集
def create_image_lists(testing_percentage, validation_percentage):
  result = {}
  sub_dirs = [x[0] for x in os.walk(INPUT_DATA)]
  is_root_dir = True
  for sub_dir in sub_dirs:
      if is_root_dir:
          is_root_dir = False
          continue
      
    # 图片的扩展名 
    extensions = ['jpeg', 'jpg', 'JPG', 'JPEG']
    file_list = []
    dir_name = os.path.basename(sub_dir)
    for extension in extensions:
        file_glob = os.path.join(INPUT_DATA, dir_name, '*.'+extension)
        file_list.extend(glob.glob(file_glob))
    if not file_list:
        continue

    label_name = dir_name.lower()
    training_images = []
    testing_images = []
    validation_images = []
    for file_name in file_list:
        base_name = os.path.basename(file_name)
        chance = np.random.randint(100)
        if chance < validation_percentage:
            validation_images.append(base_name)
        elif chance < (testing_percentage+validation_percentage):
            testing_images.append(base_name)
        else:
            training_images.append(base_name)

    result[label_name] = {
        'dir': dir_name,
        'training': training_images,
        'testing': testing_images,
        'validation': validation_images
    }

return result

获取图片样本的完整路径。

# 图片路径
def get_image_path(image_lists, image_dir, label_name, index, category):
    label_lists = image_lists[label_name]
    category_list = label_lists[category]
    mod_index = index % len(category_list)
    base_name = category_list[mod_index]
    sub_dir = label_lists['dir']
    full_path = os.path.join(image_dir, sub_dir, base_name)
return full_path

相关文章

  • Scikit-Learn

    python中数据集划分函数StratifiedShuffleSplit的使用 原文:https://blog.c...

  • 划分数据集(python)

    将特定文件路径下的图片数据划分为训练集、验证集和测试集。 获取图片样本的完整路径。

  • sklearn数据集的获取与划分

    划分数据集 获取sklearn本地的数据集 描述iris数据集 从网络获取数据集 网络获取 划分训练集和测试集 数...

  • 决策树(二)

    划分数据集 分类算法除了需要测量信息熵,还需要划分数据集,度量花费数据集的熵,以便判断当前是否正确地划分了数据集。...

  • 2018-04-25 第五周

    本周任务:按照标准的数据集划分,即训练集:2 测试集:1的比例划分数据,测试模型效果。 首先,划分...

  • 数据集的划分&更改评估指标

    数据集划分为 训练集 开发集(交叉验证集) 测试集,最大化团队效率。 如何划分 将所有的数据随机洗牌,放入交叉验证...

  • 数据集划分

    常用方法:(1)简单分离训练集和测试集,(2)K折交叉验证分离1.最简单分离测试集和测试集:train_test_...

  • 数据集划分

    看了几个大佬的数据集划分总觉得有些可能是后期进行过修改的,于是决定先用最简单的数据集划分方式,如下图: (修改:所...

  • 决策树算法

    原理 通过选择最好的特征来划分数据集,对数据子集继续划分,直到数据子集中是相同的类别;划分数据集的特征可以通过计算...

  • 模型评估与选择

    1. 数据集划分 1.1 留出法(hold - out):直接将数据集D划分成两个互斥的集合,训练集S、测试集T,...

网友评论

      本文标题:划分数据集(python)

      本文链接:https://www.haomeiwen.com/subject/usbmtqtx.html