【无标题】

快速从大量数据集中分出训练集和测试集

背景介绍

经过电磁场计算,现在有一个包含八万个样本的数据集,预计使用五千个样本作为测试集,剩下的样本作为训练集训练一个CNN,为了将预测模型特征完整的包含进去,训练集数据需要在参数空间中均匀分布。
之前个人不太喜欢用WPS之类的办公软件,数据处理一般用python,每次得到数据后都得用pandas库读入csv文件然后慢慢的写代码处理,非常的头秃和麻烦,今天拿到服务器里面跑了一周的数据后本来准备用老方法慢慢写代码分出测试集训练集的,然而今天看LPL比赛wbg打edg看的非常的糟心,写出来的代码索引号一直报错,快要暴走的时候灵感爆发想出了一个用wps一分钟完成训练前工作的方法,浅浅的记录一下。

核心思路

开始用python分的思路就是很常规的创建两个空数组,用循环把整十索引号的行分到一个数组作为测试集,其余的分去训练集,想法很简单,但是上手写循环会有一堆索引号的小问题,得慢慢调试(随机序号的方法也差不多)
然后灵感是干脆数组里加一列0-1的随机数,我想从80000个样本中取5000个,那就直接用个while语句套在for循环中,判断rand和5000/80000的关系,代码写了一半突然想到这个思路用WPS比python方便多了。

具体操作

1.打开csv文件后在第一列前面插入一列空白列
2.选择第一个空格,在函数栏输入 RAND() 函数后回车生成0-1的随机数
3.按住 shift 键点击第一列列头和列尾快速选定后点击 填充 中的 向下填充 快速生成一列随机数索引(注意:此时还不能进行筛选,因为WPS内置所有功能键其实都相当于一个函数后加回车,此时进行操作会将随机数重置)
4.选定第一列 复制 后选择一列空白列 粘贴为数值 (鼠标右键粘贴后方有个小选项),此时新生成的一列不包含函数为纯数值了,再把第一列删除,把新的一列 粘贴 回去(非强迫症患者可以省略这一步)
5.选择第一列后排序选出前5000行即可完事收工

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值