numpy之random库简单的随机排列.shuffle(x)、.permutation(x)

洗牌是为了增强模型的泛化能力

对给定的数组进行重新排列的方式主要有两种:

1、np.random.shuffle(x)

#现场修改序列,改变自身内容。(类似洗牌,打乱顺序)
In [30]: arr = np.arange(10)
In [31]: np.random.shuffle(arr)
In [32]: arr
Out[32]: array([5, 2, 7, 0, 6, 3, 4, 1, 8, 9])
#对多维数组进行打乱排列时,默认是对第一个维度也就是列维度进行随机打乱
In [37]: arr = np.arange(12).reshape(3,4)
In [38]: arr
Out[38]:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
#将多维数组打乱
In [39]: np.random.shuffle(arr)
In [40]: arr
Out[40]:
array([[ 4,  5,  6,  7],
       [ 0,  1,  2,  3],
       [ 8,  9, 10, 11]])

2. np.random..permutation(x)

#直接生成一个随机排列的数组
In [41]: np.random.permutation(10)
Out[41]: array([5, 7, 3, 6, 0, 1, 2, 8, 4, 9])

#将数组重新排列
In [42]: np.random.permutation([1, 4, 9, 12, 15])
Out[42]: array([12,  1,  9,  4, 15])

In [43]:  arr = np.arange(9).reshape((3, 3))

In [44]: arr
Out[44]:
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

In [45]:  np.random.permutation(arr)
Out[45]:
array([[0, 1, 2],
       [6, 7, 8],
       [3, 4, 5]])

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值