开发者学堂课程【Python 常用数据科学库:随机模块】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/546/detail/7471
随机模块
内容介绍
一、Numpy 随机模块
二、洗牌
三、随机的种子
一、Numpy 随机模块
In [10]:import numpy as np
#所有的值都是从0到1
np. random. rand (3, 2)
Out[10]: array ([[ 0.87876027, 0.98090867],
[ 0.07482644, 0.08780685],
[ 0.6974858, 0.35695858]])
In [11]:#返回的是随机的整数,左闭右开
np. random. randint (10, size = (5, 4))
Out[11]: array([[8, 0, 3, 7],
[4, 6, 3, 4],
[6, 9, 9, 8],
[9, 1,4,0],
[5, 9, 0, 5]])
//也可以返回一个数
In [15]: np. random. rand()
Out [15]: 0.5595234784766201
In [17]: np. random. random_sample()
Out [17]: 0.8279581297618884
//返回随机整数或者随机浮点数
In [25]: np. random. randint 0, 10,3
Out[25]: array ([7, 7, 5])
//构造随机高斯分布
In [27]: mu, sigma = 0,0.1
np. random. Normal (mu, sigma, 10)
In [38]: np.set_printoptions (precision = 2)
In [39]: mu, sigma = 0,0.1
np. random. normal (mu, sigma, 10)
Out [39]: array ([ 0. 01, 0. 02, 0. 12, -0.01, -0.04, 0. 07, 0. 14, -0. 08, -0.01, -0.03])
二、洗牌
目的:在逻辑回归算法数据预处理的过程中,有时会遇到标签值分布不均衡的情况,我们在做切分数据集操作时,则需要打乱样本顺序,也叫洗牌。再用洗完牌的数据切分训练集、测试集。
In [54]:tang_array = np. arange(10)
tang_array
Out[54]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
In [55]: np. random. shuffle(tang_array)
In [56]: tang_array
Out[56]: array([7, 6, 3, 2, 4, 1, 8, 9, 5, 0])
三、随机的种子
In [75]: np. random. seed(0)
In [76]: mu, sigma = 0,0.1
np. random. normal (mu, sigma, 10)
Out[76]: array ([ 0.18, 0.04, 0.1, 0.22, 0. 19, -0.1, 0.1 , -0.02, -0.01, 0.04])
//在安排当中,可以指定很多个随机的种子,在想去调节一些其他参数,对结果影响的时候保证不变,保证每次打乱顺序,但是每次答案顺序,都是按照相同的一种模式打乱,这样的好处,就方便于之后去调节一些其他参数,看一下其他参数是否有影响。