训练集 验证集 测试集定义:

  • 通常情况下,我们将模型下实际使用中遇到的数据成为测试集; 模型评估与选择中用于评估测试的数据集称为验证集;
    例如:在研究对比不同算法的效果的性能时,我们使用测试机的判别效果来评估模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参。

数据划分:

(1)验证集和测试集不同。

(2)验证集来自训练集的再划分。

(3)验证集的划分是为了模型选择和调参

(4)测试集是用来测试学习器对新样本的判别能力,用测试误差作为泛化误差的近似值。
在这里插入图片描述

数据集划分代码实现:

# 将图像数据重新切分,使其只包含表格,同时修改坐标。
import os
import cv2
import numpy as np
import json


def dict_slice(adict, start, end):
    # 字典切片
    keys = adict.keys()
    dict_slice = {}
    for k in list(keys)[start:end]:
        dict_slice[k] = adict[k]
    return dict_slice


train_folder = 'work/train_data'
train_path = 'work/train_data.txt'

test_folder = 'work/eval_data'
test_path = 'work/eval_data.txt'

# 切分一部分数据用于模型验证

if  not os.path.exists(train_folder):
    os.mkdir(train_folder)

if  not os.path.exists(test_folder):
    os.mkdir(test_folder)

train_file=open(train_path,mode='w')
test_file=open(test_path,mode='w')

scale  = 0.8 # 切分比例
#读入的数据为上一个文件的table_all
train_file_img = dict_slice(table_all,0,int(scale*len(table_all)))  #得到的是一个字典
print(type('train_file_img',train_file_img))
test_file_img =  dict_slice(table_all,int(scale*len(table_all)),int(len(table_all)))
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐