Python 训练集、测试集以及验证集切分方法:sklearn及手动切分

这篇具有很好参考价值的文章主要介绍了Python 训练集、测试集以及验证集切分方法:sklearn及手动切分。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

方法一

方法二


需求目的:针对模型训练输入,按照6:2:2的比例进行训练集、测试集和验证集的划分。当前数据量约10万条。如果针对的是记录条数达上百万的数据集,可按照98:1:1的比例进行切分。

方法一:切分训练集和测试集,采用机器学习包sklearn中的train_test_split()函数
方法二:切分训练集、测试集以及验证集,针对dataframe手动切分

方法一

采用Sklearn包中的sklearn.model_selection.train_test_split()函数,该函数功能是将原始数据按照比例切分为训练集和测试集。

函数形式:
sklearn.model_selection.train_test_split(*arrays, test_size=None, 
train_size=None, random_state=None, shuffle=True, stratify=None)

参数解读:
*arrays:等长的列表、数组或者dataframe等
test_size: 0和1之间,默认0.25
train_size: 0和1之间,默认1
random_state: 传递一个int值,以便在多个函数调用之间产生可复制的输出
shuffle: 拆分前是否进行洗牌
strafity: 是否对数据进行分层

返回结果:
输入序列的train test分割序列

例子

>>> import numpy as np
>>> from sklearn.model_selection import train_test_split
>>> X, y = np.arange(10).reshape((5, 2)), range(5)
>>> X
array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])
>>> list(y)
[0, 1, 2, 3, 4]

>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.33, random_state=42)
...
>>> X_train
array([[4, 5],
       [0, 1],
       [6, 7]])
>>> y_train
[2, 0, 3]
>>> X_test
array([[2, 3],
       [8, 9]])
>>> y_test
[1, 4]

方法二

手动切分,代码如下。输入采用Python的DataFrame,同样输出三个文件。如果需要每次都输入同样的切分数据,可采用random.seed()定义随机数种子。

def split_train_test_valid():
    # read file
    input_path = "E:\\Data\\"
    file = "flow.csv"
    df_flow = pd.read_csv(input_path + file, header=None, encoding='gbk')

    # define the ratios 6:2:2
    train_len = int(len(df_flow) * 0.6)
    test_len = int(len(df_flow) * 0.2)

    # split the dataframe
    idx = list(df_flow.index)
    random.shuffle(idx)  # 将index列表打乱
    df_train = df_flow.loc[idx[:train_len]]
    df_test = df_flow.loc[idx[train_len:train_len+test_len]]
    df_valid = df_flow.loc[idx[train_len+test_len:]]  # 剩下的就是valid

    # output
    df_train.to_csv(input_path+'train.txt', header=False, index=False, sep='\t')
    df_test.to_csv(input_path+'test.txt', header=False, index=False, sep='\t')
    df_valid.to_csv(input_path+'valid.txt', header=False, index=False, sep='\t')

参考资料:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html 


 文章来源地址https://www.toymoban.com/news/detail-766099.html

到了这里,关于Python 训练集、测试集以及验证集切分方法:sklearn及手动切分的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python:使用sklearn库的KFold模块进行随机森林十折交叉验证

    作者:CSDN @ _养乐多_ 本文记录了使用sklearn库的KFold模块进行随机森林十折交叉验证的代码。 一、代码 二、代码解释 在上述代码中 首先,导入了RandomForestClassifier(随机森林分类器)、cross_val_score(交叉验证函数)、KFold(交叉验证生成器)和load_iris(加载鸢尾花数据集)等

    2024年01月16日
    浏览(36)
  • 训练集 测试集 验证集

    在机器学习 中,训练集和验证集的数据比例通常根据数据量和任 务需求来确定。常见的划分比例有以下几种: 1.70%训练集,30%验证集 2.80%训练集,20%验证集 3.60%训练集,20%验证集,20% 测试集(这种情 况下,数据集被分为训练集、验证集和测试集三部 分) 需要注意的是,这些

    2024年02月03日
    浏览(28)
  • 【深度学习】如何分配训练集、验证集、测试集比例

    对于传统机器学习阶段(数据集在万这个数量级),一般分配比例为训练集和测试集的比例为7:3或是8:2。为了进一步降低信息泄露同时更准确的反应模型的效能,更为常见的划分比例是训练集、验证集、测试的比例为6:2:2。 对于小规模样本集(几万量级),常用的分配比例

    2024年02月15日
    浏览(41)
  • 对yolov5的数据集进行划分【训练集、验证集、测试集】7:2:1和【训练集、验证集】8:2

    目录 训练集:验证集:测试集 (7:2:1)  训练集:验证集 (8:2) 参考的这位博主: (487条消息) YOLOv5数据集划分脚本(train、val、test)_yolov5 val_叱咤风云灬龙的博客-CSDN博客 训练集:验证集:测试集 (7:2:1)  训练集:验证集 (8:2)

    2024年02月12日
    浏览(40)
  • 【冲刺蓝桥杯-真题训练】递增三元组、回文日期、01背包问题、 数组切分

    🍎 博客主页:🌙@披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 蓝桥杯 🌙请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!🌙 🍉一起加油,去追寻、去成为更好的自己!

    2024年01月17日
    浏览(44)
  • GPT系列训练与部署——Colossal-AI环境配置与测试验证

            Colossal-AI框架主要特色在于对模型进行并行训练与推理(多GPU),从而提升模型训练效率,可快速实现分布式训练与推理。目前,该框架已集成很多计算机视觉(CV)和自然语言处理(NLP)方向的算法模型,特别是包括GPT和Stable Diffusion等系列大模型的训练和推理。

    2024年02月08日
    浏览(38)
  • 神经网络中数据集的三种类别的区分:训练集、验证集、测试集

     在神经网络中,数据集通常被划分为三个主要类别:训练集(Training Set)、验证集(Validation Set)、和测试集(Test Set)。这个划分的目的是为了评估和优化模型的性能。 训练集(Training Set): 作用: 用于训练神经网络的参数和权重。 特点: 包含大量的样本,模型通过训

    2024年02月02日
    浏览(35)
  • win11系统AVA2.1数据集制作、训练、测试、本地视频验证(完整已跑通)

    本文参照杨帆老师的博客,根据自己的需要进行制作,杨帆老师博客原文链接如下: 自定义ava数据集及训练与测试 完整版 时空动作/行为 视频数据集制作 yolov5, deep sort, VIA MMAction, SlowFast-CSDN博客 文章浏览阅读2.2w次,点赞31次,收藏165次。前言这一篇博客应该是我花时间最多

    2024年02月19日
    浏览(51)
  • 腾讯云TRTC接入测试以及状态同步功能重点验证

    此项目用于实时视频语音,例如学生与老师进行网课,可以通过视频进行沟通,了解学生动态。老师并且通过视频进行网上授课,更加直观。学生课下自主学习,有问题可及时通过视频语音进行沟通。项目已经上线,并得到学生与老师的反馈。 老师反馈:更好的监督学生学习

    2024年02月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包