机器学习:软件工程方法与实现
上QQ阅读APP看书,第一时间看更新

3.4.2 随机数生成示例

下面使用Numpy的random函数来简单演示随机数的生成,更多随机数生成方法请参考官方文档[1]。随机数的生成代码示例如下:


import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs

# 配置随机数种子,不指定随机数种子每次生成的数据都不一样
np.random.seed(10)

# 从均匀分布([low,high):半开区间)中进行采样浮点数
np.random.uniform(low=1, high=3, size=100)
# 从均匀分布([low,high):半开区间)中进行采样浮点数,生成100*100矩阵
np.random.uniform(low=1, high=3, size=[100,100])

# 生成半开半闭区间[low,high)上离散均匀分布的整数值
np.random.randint(low=1, high=10, size=100)

# 正态分布
np.random.normal(loc=0,scale=1.0,size=100)

# numpy.random.choice(a,size=None,replace=True,p=None) 
# 通过给定的一维数组数据产生随机采样
# 从数组a中选择,若a是整数,则从np.arange(a)中选择
# replace代表放回与否
# p为数组中每个元素被选中的概率,为空则表示均匀分布
np.random.choice(a=[1,2,3,4,5], size=100,p=[0.1, 0, 0.3,0.4,0.2])

# 可以使用choice生成类别型数据,比如A,B,C类别
np.random.choice(a=['A','B','C','D','E'], size=100)

[1] http://www.numpy.org/