在计算机中,机器学习训练是以每个batch为训练单位,并反向传播一次。将一个batch看作一次学习过程,怎么才能学的好呢,当然是学习对的东西,也就是样本要尽可能接近真实的概率分布(模型学习的本质就是去拟合真实的概率分布)。随机打乱后的一段样本比排序后的更加接近真实分布,排序后多了一层相关性,一定程度上表现出不同的概率分布,因此要打乱数据。那在python中有没有打乱顺序,又不影响内容的办法呢?答案当然是有的,就是我们的shuffle()函数。
成都创新互联公司从2013年创立,先为泾县等服务建站,泾县等地企业,进行企业商务咨询服务。为泾县企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
一、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()函数既可以打乱列表,也可以打乱序列,既可以打乱单列表,也可以打乱多列表。关键是它不影响内容,便于测试使用,快学起来吧~
分享标题:创新互联Python教程:python中的shuffle怎么用?
链接分享:http://www.gawzjz.com/qtweb/news39/174239.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联