Python中shuffle()函数可以用于什么,用法是怎样
Admin 2022-06-08 群英技术资讯 1084 次浏览
这篇文章主要讲解了“Python中shuffle()函数可以用于什么,用法是怎样”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。
在计算机中,机器学习训练是以每个batch为训练单位,并反向传播一次。将一个batch看作一次学习过程,怎么才能学的好呢,当然是学习对的东西,也就是样本要尽可能接近真实的概率分布(模型学习的本质就是去拟合真实的概率分布)。随机打乱后的一段样本比排序后的更加接近真实分布,排序后多了一层相关性,一定程度上表现出不同的概率分布,因此要打乱数据。那在python中有没有打乱顺序,又不影响内容的办法呢?答案当然是有的,就是我们的shuffle()函数。
一、shuffle()函数
是打乱序列里面的元素,并随机排列的。
作用是混排序列中的元素,序列中元素顺序改变,但其内容不变。
二、使用说明
import random random.shuffle (alist )
注意:alist可以使是一个列表,也可以是个序列。shuffle()是不能直接访问的,需要导入random模块。
三、shuffle() 方法
1、将单列表的所有元素随机排列
>>>import random >>>list =[0,1,2,3,4,5,6,7,8,9] >>>random.shuffle(list) >>>list [6,2,4,7,9,3,1,5,8,0]
2、将单列表的所有元素随机排列
a、b、c都是二维列表,我们将a、b、c作为shuffle的参数洗牌打乱一下,发现结果是二维列表行内的顺序不变,列的顺序发生了变化,并且a、b、c三个二维列表的变化是一致的。
from sklearn.utils import shuffle a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] b = [[10, 11, 12], [13, 14, 15], [16, 17, 18]] c = [[19, 20, 21], [22, 23, 24], [25, 26, 27]] a, b, c = shuffle(a, b, c) print(a) print(b) print(c)
输出:
[[7, 8, 9], [4, 5, 6], [1, 2, 3]] [[16, 17, 18], [13, 14, 15], [10, 11, 12]] [[25, 26, 27], [22, 23, 24], [19, 20, 21]]
shuffle()函数既可以打乱列表,也可以打乱序列,既可以打乱单列表,也可以打乱多列表。关键是它不影响内容,便于测试使用
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了python中显存回收问题解决方法,文章提供一个实例问题和处理的思路,具有一定的参考价值,需要的小伙伴可以参考一下
这篇文章介绍了Python中的线程操作模块(oncurrent),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章主要介绍了Python flask框架,主要以对flask 微web框架优势特点、demo web应用程序程序步骤以及对flask模块中路由和模版两个功能进行基本了解。具有一定的参考价值,需要的朋友可以参考一下
不少朋友应该都有玩过2048游戏吧,就是合并和消除数字的一款游戏。那么我们如果使用python,怎么写一个2048游戏呢?下面就给大家分享使用Python实现2048游戏代码,感兴趣的朋友可以参考学习。
讲一下在Python中写好了一个脚本之后,怎么自动双击一个程序自动就跑起来。以及,怎么在Windows 10中设计定期定时触发并跑脚本,有需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008