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

本文介绍了如何按照8:2的比例切分测试集和训练集,涉及random.shuffle()函数用于随机排序列表,以及如何将数据集转化为列表进行切分。同时还提供了解决方案,以适应自定义比例的切分需求。
摘要由CSDN通过智能技术生成

测试集和训练集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_list
    if shuffle:
        random.shuffle(full_list)
    sublist_1 = full_list[:offset]
    sublist_2 = full_list[offset:]
    return sublist_1, sublist_2
    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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值