【小白学机器学习38】用np.random 生成各种随机数,随机数数组/序列

目录

[0 总结 np.random() 的一些点](#0 总结 np.random() 的一些点)

[1 用np.random.random() 生成[0,1) 区间内的随机数](#1 用np.random.random() 生成[0,1) 区间内的随机数)

[2 生成指定范围内的随机整数/数组 np.random.randint()](#2 生成指定范围内的随机整数/数组 np.random.randint())

[3 用np.random.choice()生成指定数组范围内的随机数](#3 用np.random.choice()生成指定数组范围内的随机数)

[3.1 np.random.choice(array6)](#3.1 np.random.choice(array6))

[3.2 np.random.choice(array6) ,需要设置是否允许循环抽样](#3.2 np.random.choice(array6) ,需要设置是否允许循环抽样)

[4 np.random.normal()生成符合正态分布的数/数组](#4 np.random.normal()生成符合正态分布的数/数组)

[5 np.random.binomial()生成符合二项分布的数](#5 np.random.binomial()生成符合二项分布的数)

[6 上述的图](#6 上述的图)

[7 全部代码和效果](#7 全部代码和效果)


准备工作

先看python相关的随机,生成各种随机数

0 总结 np.random() 的一些点

  • np.random() 主要是生成符合各种要求的随机数
  1. 比如[0,1)
  2. 符合某分布,正态分布,二项分布等
  3. 指定某区间内随机等,比如(a,b) 之间,或者在某个array([1,10,99]) 之间
  • np.random() 可以不指定size,就只生成一个随机数。
  • 如果像生成一个数组,np.random() 都接受 size=10 这个参数,方便生成多个符合要求的随机数,一个数组
  1. size参数不是必须的,如果没有默认就是只生成1个随机数
  2. np.random.random()
  3. np.random.random(size=10)

1 用np.random.random() 生成[0,1) 区间内的随机数

  • np.random 能生成[0,1)这种标准化随机数数组

  • np.random.random()

  • np.random.random(size=10)

    np.random 能生成[0,1)这种标准化随机数数组

    array2=np.random.random(size=10)
    print(f"标准化[0,1)范围内随机数数组:{array2}")

2 生成指定范围内的随机整数/数组 np.random.randint()

  • #生成范围内的随机整数int数组

  • np.random.randint(1,10, size=10)

    #生成范围内的随机整数int数组
    array1=np.random.randint(1,10, size=10)
    print(f"指定整数内随机int数组:{array1}")

3 用np.random.choice()生成指定数组范围内的随机数

3.1 np.random.choice(array6)

  • np.random 从指定数组里去随机选择
  • list6=[1,2,3,4,5,6,7,8,9,10]
  • array6=np.array(list6)
  • 可以用
  • np.random.choice(array6)

3.2 np.random.choice(array6) ,需要设置是否允许循环抽样

  • replace=True,可以允许抽样

  • replace=False,不允许抽样

  • array61=np.random.choice(array6,size=5,replace=True)

  • array62=np.random.choice(array6,size=5,replace=False)

    np.random 从指定数组里去随机选择

    list6=[1,2,3,4,5,6,7,8,9,10]
    array6=np.array(list6)

    array61=np.random.choice(array6,size=5,replace=True)
    print(f"指定数组内选择,可重复:{array61}")
    print()

    array62=np.random.choice(array6,size=5,replace=False)
    print(f"指定数组内选择,不可重复:{array62}")
    print()

4 np.random.normal()生成符合正态分布的数/数组

  • np.random.normal()

  • 能生成正态分布,二项分布等各种分布的随机数数组(序列)

  • #无参数默认是标准正态分布,默认只生成1个数

  • array3=np.random.normal(size=10)

  • #array3=np.random.normal(loc=0.0, scale=1.0) #效果和上面缺省相同

  • 其中loc=mean 是均值

  • 其中scale=std 是标准差,

  • size= 数量

  • array4=np.random.normal(loc=2, scale=5, size=10) #loc=mean,scale=std, size=num

    np.random 能生成正态分布,二项分布等各种分布的随机数数组(序列)

    array3=np.random.normal(size=10) #无参数默认是标准正态分布,默认只生成1个数
    #array3=np.random.normal(loc=0.0, scale=1.0) #效果和上面缺省相同
    print(f"符合标准正态分布数组:{array3}")
    print()

    array4=np.random.normal(loc=2, scale=5, size=10) #loc=mean,scale=std, size=num
    print(f"符合正态分布数组:{array4}")
    print()

5 np.random.binomial()生成符合二项分布的数

  • np.random.binomial()

  • np.random.binomial(n=10, p=0.5, size=10)

    np.random 能生成正态分布,二项分布等各种分布的随机数数组(序列)

    array5=np.random.binomial(n=10, p=0.5, size=10)
    print(f"二项分布数组:{array5}")
    print()

6 上述的图

7 全部代码和效果

复制代码
import numpy as np
import pandas as pd
import scipy as sp
from matplotlib import pyplot as plt
import seaborn as sns
%precision 3

fig=plt.figure()


#生成范围内的随机整数int数组
array1=np.random.randint(1,10, size=10)
print(f"指定整数内随机int数组:{array1}")
plt.subplot(3, 3, 1)
plt.plot(array1)
print()

# np.random 能生成[0,1)这种标准化随机数数组
array2=np.random.random(size=10)
print(f"标准化[0,1)范围内随机数数组:{array2}")
plt.subplot(3, 3, 2)
plt.plot(array2)
print()

# np.random 能生成正态分布,二项分布等各种分布的随机数数组(序列)
array3=np.random.normal(size=10)        #无参数默认是标准正态分布,默认只生成1个数
#array3=np.random.normal(loc=0.0, scale=1.0) #效果和上面缺省相同
print(f"符合标准正态分布数组:{array3}")
plt.subplot(3, 3, 3)
plt.plot(array3)
print()

array4=np.random.normal(loc=2, scale=5, size=10) #loc=mean,scale=std, size=num
print(f"符合正态分布数组:{array4}")
plt.subplot(3, 3, 4)
plt.plot(array4)
print()


# np.random 能生成正态分布,二项分布等各种分布的随机数数组(序列)
array5=np.random.binomial(n=10, p=0.5, size=10)
print(f"二项分布数组:{array5}")
plt.subplot(3, 3, 5)
plt.plot(array5)
print()


# np.random 从指定数组里去随机选择
list6=[1,2,3,4,5,6,7,8,9,10]
array6=np.array(list6)
plt.subplot(3, 3, 6)
plt.plot(array6)
print()

array61=np.random.choice(array6,size=5,replace=True)
print(f"指定数组内选择,可重复:{array61}")
plt.subplot(3, 3, 7)
plt.plot(array61)
print()

array62=np.random.choice(array6,size=5,replace=False)
print(f"指定数组内选择,不可重复:{array62}")
plt.subplot(3, 3, 8)
plt.plot(array62)
print()
相关推荐
dxnb2223 分钟前
【Datawhale25年11月组队学习:hello-agents+Task1学习笔记】
人工智能·学习
二进制星轨34 分钟前
Transofrmer架构详解与PyTorch实现(附代码讲解)
人工智能·pytorch·python
领航猿1号1 小时前
DeepSeek-OCR 上下文光学压缩详解与本地部署及vLLM推理
人工智能·aigc·ocr
东方隐侠安全团队-千里1 小时前
第3节 RSA算法开启公钥加密时代
网络·人工智能·算法
骄傲的心别枯萎1 小时前
RV1126 NO.46:RV1126+OPENCV对视频流进行视频膨胀操作
人工智能·opencv·计算机视觉·音视频·rv1126
视觉AI1 小时前
如何查看 Linux 下正在运行的 Python 程序是哪一个
linux·人工智能·python
算家计算2 小时前
AI也能像人一样拥有长时记忆了!谷歌最新研究攻克AI核心难题
人工智能·机器学习·资讯
笨鸟笃行2 小时前
人工智能备考2.2.1-2.2.5总结
人工智能
shayudiandian3 小时前
代码生成与开发辅助
人工智能