如何利用python将txt文件划分训练集和测试集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用python将txt文件划分训练集和测试集相关的知识,希望对你有一定的参考价值。
总共有一个文件,针对每一个用户对项目的评价,按照8:2的比例对项目分出训练集和测试集。分出来的格式还是这样的3列。
数据格式是
user_id item_id rating_value
1 101 5
1 102 3
1 10 3
1 103 5
1 104 2
1 105 5
1 106 5
1 107 5
1 108 5
1 109 3
1 110 4
1 111 5
1 112 4
1 113 5
1 11 4
1 114 5
1 115 5
1 116 5
1 117 5
……
“按照8:2的比例对项目分出训练集和测试集”:从数据源中随机抽取80%的数据作为“训练集”,其余的是“测试集”
import randomwith open("datasource.txt", 'rt') as handle:
dataset = [map(int, ln.split()) for ln in handle]
# 乱序
random.shuffle(dataset)
# [训练集, 测试集]
pos = len(dataset) *.8
parts = dataset[:pos], dataset[pos:] 参考技术A 给一个划分比例,然后读一行文件扔一次色子,相应输出到训练或是检验集合追问
这个思路很好,色子不是只有6面么?我想用8:2的比例,按照4:1的设置,具体怎么做呢?
追答用随机数啊 小于.8分到训练 大于.8分到检验。 最后统计一下实际的划分比例
参考技术B 你可以按照行数%10,将小于8的写到一个文件中,将8,9写到另一个文件中。也可以将所有的行都读到list中(如果文件不是几十或者几百M那么大的话),得到列表的长度,也就是总行数,然后将len/10*8行之前的写到一个文件中,剩下的写到另一个文件中。
不知道你的意思是这个吗?本回答被提问者采纳 参考技术C 把问题描述具体清晰,若是描述不清就列出:输入样例和输出样例。这样才好一行解决,追答
是否存在一个问题,它必须多行解决而不能单行解决?
追问已经解决了,谢谢。
追答//tieba.baidu.com/i/sys/jump?un=yiyuezhuo" onclick="Stats.sendRequest('fr=tb0_forum&st_mod=pb&st_value=atlink');" onmouseover="showattip(this)" onmouseout="hideattip(this)" username="yiyuezhuo" target="_blank" class="at">@yiyuezhuo :习惯单行解决某些问题,
参考技术D 请详细描述python生成图像样本的训练集、验证集和测试集
参考技术A 准备好图像样本和标注文件后,需对样本集进行划分,生成训练集、验证集和测试集我的目录结构:
将样本按 training : validation : testing = 8:1:1,实现在images和labels同级目录下创建文件夹train,val,test,将按比例生成的数据存放到相应的位置。
以上是关于如何利用python将txt文件划分训练集和测试集的主要内容,如果未能解决你的问题,请参考以下文章