python中的shuffle怎么用?
在计算机中,机器学习训练是以每个batch为训练单位,并反向传播一次。将一个batch看作一次学习过程,怎么才能学的好呢,当然是学习对的东西,也就是样本要尽可能接近真实的概率分布(模型学习的本质就是去拟合真实的概率分布)。随机打乱后的一段样本比排序后的更加接近真实分布,排序后多了一层相关性,一定程度上表现出不同的概率分布,因此要打乱数据。那在python中有没有打乱顺序,又不影响内容的办法呢?答案当然是有的,就是我们的shuffle()函数。
一、shuffle()函数
是打乱序列里面的元素,并随机排列的。
作用是混排序列中的元素,序列中元素顺序改变,但其内容不变。
二、使用说明
importrandom
random.shuffle(alist)
注意:alist可以使是一个列表,也可以是个序列。shuffle()是不能直接访问的,需要导入random模块。
三、shuffle()方法
1、将单列表的所有元素随机排列
>>>importrandom
>>>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三个二维列表的变化是一致的。
fromsklearn.utilsimportshuffle
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中的shuffle怎么用?,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>python如何遍历dict
python遍历字典有以下几种方式我们先创建一个字典D={‘a’:1,‘b’:2,’b‘:3,’d‘:4}1.遍历key值forkeyina:pritn(key+':'+a[k...详情>>
2023-11-06 20:27:53python什么是主线程
Python主线程和子线程setDaemon(False)当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行的最小单位,当设置多线程时,主线程会创...详情>>
2023-11-06 19:51:39pythonPython是软件吗?
python并不是一款软件,而是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本...详情>>
2023-11-06 19:28:49python怎么添加注释
注释是对一段代码的解释和说明,可提高程序代码的可读性,让人们能够更加轻松地了解代码,尤其在大型项目开发和团队项目中,注释是必不可少的!...详情>>
2023-11-06 19:17:20