机器学习生成数据常用Numpy函数介绍(不断更新中)


在机器学习和深度学习中,经常需要产生一些数据来使用,这时会经常使用numpy的随机函数,由于随机函数random的功能比较多,经常会混淆或记不住,下面我们一起来汇总学习下。

1 np.linspace

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
在指定[start, stop]的间隔内返回num个均匀间隔的数组。stop是否被包含在数组里,使用endpoint=True 或 endpoint=False来决定;retstep是return step缩写,指定为True时会返回步长;dtype可以指定或者不指定,不指定情况下,系统自行推断。例子:

>>> import numpy as np
>>> a = np.linspace(1, 8, 8)
>>> a
Out[26]: array([1., 2., 3., 4., 5., 6., 7., 8.])
>>> a = np.linspace(1, 8, 8, endpoint=False)
>>> a
Out[28]: array([1.   , 1.875, 2.75 , 3.625, 4.5  , 5.375, 6.25 , 7.125])
>>> a, step = np.linspace(1, 8, 8, endpoint=False, retstep=True)
>>> a
Out[30]: array([1.   , 1.875, 2.75 , 3.625, 4.5  , 5.375, 6.25 , 7.125])
>>> step
Out[31]: 0.875
2 np.repeat

numpy.repeat(a, repeats, axis=None)
复制多维数组的每一个元素;axis来控制复制的轴,对于二维数组,就是行和列.
参数的意义:
axis=None,时候就会flatten当前矩阵,实际上就是变成了一个行向量
axis=0, 沿着第1轴复制,实际上增加了行数
axis=1, 沿着第2轴复制,实际上增加列数
repeats 可以为一个数,也可以为一个矩阵
例子:利用上述的np.linspace函数产生数据,并使用np.repeat复制

>>> import numpy as np
>>> angles = np.linspace(0, 2 * np.pi, 10, endpoint=False)
>>> angles
Out[33]: 
array([0.        , 0.62831853, 1.25663706, 1.88495559, 2.51327412,
       3.14159265, 3.76991118, 4.39822972, 5.02654825, 5.65486678])
>>> b = angles[..., np.newaxis] # 也可以使用np.reshape(10,1)
>>> c = np.repeat(b, 2, axis=1) # 沿着第2轴复制2个
>>> c
Out[49]: 
array([[0.        , 0.        ],
       [0.62831853, 0.62831853],
       [1.25663706, 1.25663706],
       [1.88495559, 1.88495559],
       [2.51327412
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科技与文明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值