首页 > 其他分享 >划分训练集和验证集并保存为CSV表格

划分训练集和验证集并保存为CSV表格

时间:2023-03-25 23:12:17浏览次数:33  
标签:csv 表格 验证 writer train file test CSV data

import csv
import os
import numpy as np

labels = []
data = []
a_train_file = r'xxx\train.csv'
a_test_file = r'xxx\valid.csv'
a_file = r'\all.csv'

all_data_num = 20000
train_num = 18000

seed = 3
np.random.seed(seed)
train_indices = np.random.choice(all_data_num,train_num, replace=False) # 设置随机数生成从0-20000中随机挑选18000个随机数
residue = np.array(list(set(range(all_data_num)) - set(train_indices)))
test_indices = np.random.choice(len(residue),2000, replace=False) # 如果训练集和测试集综合的数据加起来就是一整个数据集则不需要这个操作,直接用residue即可

with open(a_file)as afile:
    a_reader = csv.reader(afile)  #从原始数据集中将所有数据读取出来并保存到a_reader中
    # labels = next(a_reader)  # 提取第一行设置为labels,没有则不需要
    for row in a_reader:  # 将a_reader中每一行的数据提取出来并保存到data的列表中
        data.append(row)

# 生成训练数据集
if not os.path.exists(a_train_file):
    with open(a_train_file, "w", newline='') as a_trian:
        writer = csv.writer(a_trian)
        # writer.writerows([labels])  #第一行为标签行,没有不需要
        writer.writerows(np.array(data)[train_indices])
        a_trian.close()

# 生成测试数据集
if not os.path.exists(a_test_file):
    with open(a_test_file, "w", newline='')as a_test:
        writer = csv.writer(a_test)
        # writer.writerows([labels])  #第一行为标签行,没有不需要
        writer.writerows(np.array(data)[test_indices])
        a_test.close()

标签:csv,表格,验证,writer,train,file,test,CSV,data
From: https://www.cnblogs.com/xyf9474/p/17255873.html

相关文章

  • 国外短信平台收不到验证码,怎么解决?
    背景:国外短信平台,经常遇到验证码收不到的情况如果您是一家海外企业或跨国公司,那么国外短信平台的使用一定不可或缺。无论您是要给客户发送营销信息,还是给员工发送公司通知......
  • 部署SQL Server 2019 群集错误验证失败
    ##:部署WindowsCluster请参考之前相关文章。在之前文章部署群集时,我们使用无仲裁模式且未配置群集存储快速创建WinSrv群集,同时未进行群集测试验证。所以出现报错:问题描......
  • 表格在线转换
    表格在线转换序号名称地址https://tableconvert.com/01.TableConvertOnline-tabletomarkdown,csv,json,latextable,excel,sql,xmlhttp......
  • 若依框架 --- ruoyi 表格的设置
    表格字典值转换(1)方式1:使用字典枚举的方式varisDownload=[[${@dict.getType('YES_OR_NO')}]];{field:'isDownload',title:'是否允许下载',form......
  • Vue + node简单实现验证码
    web实现验证码思路(个人简单示例操作,流程可能并不规范,仅提供演示,请勿抬杠)验证码代码流程前端发送get请求来获取验证码图片。后端收到前端的生成验证码请求,生成验证码图片......
  • SAP Fiori 设计准则里的 Responsive 表格不太适合的场景介绍
    sap.m.Table是SAPFiori应用默认的响应式表格控件。在下列场合中,SAP不推荐大家使用ResponsiveTable.主要用例是从极少数项目中选择一项,而不查看其他详细信息。在......
  • SAP Fiori 设计准则里的 Responsive 表格概述
    ResponsiveTable是SAPFiori中的默认表控件。它包含一组Lineitem并且完全响应(fullyresponsive)。根据具体情况,用户还可以从行项目导航到更多详细信息页面。一......
  • 表单的初级验证
    一.常用方式1.placeholder:提示信息2.required   :非空判断3.pattern    :正则表达式<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-......
  • OA不能点击发送验证码按钮问题
    按F12发现400错误(前端提交数据的字段名称或者是字段类型和后台的实体类不一致导致),最终找出原因是密码里含有特殊符号,服务端未有处理导致。解决方案有:1、重改下密码,不要含有......
  • 【828】latex表格行距、表格多行
    参考:latex表格如何精细控制行高,行距,行与行之间的距离%使用表格线安装包,插入一个透明的表格线,通过控制表格线的上下距离来控制行高。\usepackage{array}\usepackage......