测试集和训练集8:2切分

最近接到个需求:测试集和训练集8:2切分,翻阅了很多资料封装了一个切分方法。

首先介绍下shuffle()函数

shuffle() 方法将序列的所有元素随机排序。

import randomrandom.shuffle (lst )

注意:shuffle()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。

切分对象是一个列表

def split(full_list, shuffle=False, ratio=0.2):n_total = len(full_list)offset = int(n_total * ratio)if n_total == 0 or offset < 1:return [], full_listif shuffle:random.shuffle(full_list)sublist_1 = full_list[:offset]sublist_2 = full_list[offset:]return sublist_1, sublist_2if __name__ == "__main__":li = range(5)sublist_1,sublist_2 = split(li,shuffle=True,ratio=0.2)print sublist_1,len(sublist_1)print sublist_2,len(sublist_2)

切分文本

机器学习的数据集是存放在文本当中如何切分?
小编是把每条数据放到一个list,然后在进行切分。

 full_list= []with open(filename, 'r')as f:for line in f:#  删除每一行的换行符line = line.rstrip()if line:full_list.append(line)#  如果有空行跳过继续else:continuedef split(full_list, shuffle=False, ratio=0.2):n_total = len(full_list)offset = int(n_total * ratio)if n_total == 0 or offset < 1:return [], full_listif shuffle:random.shuffle(full_list)sublist_1 = full_list[:offset]sublist_2 = full_list[offset:]return sublist_1, sublist_2
#接下来就可以把 sublist_1, sublist_2 分别写到tesx.txt,train.txt

如果想修改比例按自己想要的比例划分

 if __name__ == "__main__":li = range(5)sublist_1,sublist_2 = split(li,shuffle=True,ratio=0.2)print sublist_1,len(sublist_1)print sublist_2,len(sublist_2)

修改此处的ratio = 0.2会覆盖掉函数的ratio


测试集和训练集8:2切分相关推荐

  1. R语言构建随机森林模型randomForest分类模型并评估模型在测试集和训练集上的效果(accuray、F1、偏差Deviance):随机森林在Bagging算法的基础上加入了列采样(分枝特征随机)

    R语言构建随机森林模型randomForest分类模型并评估模型在测试集和训练集上的效果(accuray.F1.偏差Deviance):随机森林在Bagging算法的基础上加入了列采样(分枝特征随机) ...

  2. R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型、并评估模型在测试集和训练集上的分类效果(accuray、F1、偏差Deviance):Bagging算法与随机森林对比

    R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型.并评估模型在测试集和训练集上的分类效果(accuray.F1.偏差Deviance):Bagging算法与随机森林对比 ...

  3. python基于模型对测试集和训练集的预测概率结果文件可视化模型的校准曲线、多个模型的校准曲线(calibration curve)

    python基于模型对测试集和训练集的预测概率结果文件可视化模型的校准曲线.多个模型的校准曲线(calibration curve) 目录

  4. yolov3的训练(五)darknet的VOC测试集和训练集以及训练前准备

    VOC测试集和训练集     ################################## 同学们,这个系列的文件不要直接就跟着我操作了,因为这个是踩坑的记录,不是教程,我只是将整个流程记录下 ...

  5. 机器学习中,对于数据的预处理是否是测试集和训练集一起进行?

    转载自:https://www.zhihu.com/question/312639136 机器学习中,对于数据的预处理是否是测试集和训练集一起进行? 最近在尝试训练和应用模型,遇上一个问题,就是针对数 ...

  6. 如何划分测试集和训练集

    机器学习划分训练集和测试集的方法 目前遇到如何划分机器学习中训练集和测试集的问题,找了各方面的资料,发现知乎大佬给出了详细解答,故转载如下(文末附参考链接): 机器学习常见步骤 1.对数据集进行划分, ...

  7. KS检验样本测试集和训练集分布问题

    最初引入KS检验的原因:用SVM 做分类问题时,发现在测试集上跑出来的准确率等参数比在训练集高许多,经过分析,推断可能是由于训练集和测试集上的数据分布情况不一致.所以想通过KS检验一下数据分布情况. ...

  8. 【AI-1000问】训练为什么要分测试集和验证集?

    往期视频(前往有三AI公众号观看) 为什么要分训练集和测试集呢? 在很多的书以及一些公开数据集中,都会将数据集分为训练集,验证集和测试集,看起来验证集和测试集并没有区别,为什么要分这两个呢? 作者/编 ...

  9. 文本分类训练集 测试集_【AI1000问】训练为什么要分测试集和验证集?

    9 往期视频 点击边框调出视频工具条 为什么要分训练集和测试集呢? 在很多的书以及一些公开数据集中,都会将数据集分为训练集,验证集和测试集,看起来验证集和测试集并没有区别,为什么要分这两个呢? 作者/ ...

最新文章

  1. 不同于NLP,数据驱动方法与机器学习无法攻克NLU,原因有三点
  2. jquery日历插件 途牛_jquery日历插件SimpleCalendar
  3. libncurses.so.5 is needed by unixODBC_值得一看的全息网游 ——生存游戏by那时烟花
  4. phpStorm注册码
  5. msdn画圆弧函数_精确之美——用TikZ画硬盘示意图
  6. Python并发之协程gevent基础
  7. php面向对象之策略模式,php策略模式的学习--引自《深入php面向对象模式与实践》...
  8. 访问iis出现500.21错误
  9. linux内核奇遇记之md源代码解读之十一raid5d
  10. FTP 文件上传跟下载
  11. 使用MySQL Workbench备份和还原数据库
  12. 地理Essay范文的组成剖析
  13. 优秀程序员的博客有哪些?
  14. ps修改图片上文字的几种方法 图+文
  15. C++ SLT中的容器学习与函数谓词
  16. [Java GC]Java垃圾回收
  17. 从抓取豆瓣电影聊高性能爬虫思路
  18. Java210道常见的面试
  19. install firebox on ubuntu
  20. opensuse安装face_recognition全记录

热门文章

  1. matlab中map工具箱(Mapping toolbox)使用
  2. druid的后台监控
  3. 梦幻默认服务器文件夹修改器,【梦幻仙境V3.96服务端】梦幻最新完美开心版带存档与修改器时代梦幻最新5.2版本...
  4. 机器学习:《统计学习方法》笔记(一)—— 隐马尔可夫模型
  5. 网络对抗 Exp2.1 后门原理与实践 20154311 王卓然
  6. ibm服务器密码破解_IBM Integration Bus中的密码术操作
  7. ASMEDIA祥硕 PCIe与SATA控制芯片
  8. java模拟实现操作系统进程调度中的多级反馈队列算法
  9. Vscode设置用户代码片段
  10. C/C++ Qt StatusBar 底部状态栏应用