【小白学机器学习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()
相关推荐
通义灵码4 分钟前
Qoder 全形态产品家族正式发布,并开源 Agentic Coding 产品耐用度评测集
人工智能·开源·ai编程
大白的编程笔记4 分钟前
推理(Inference)系统解释
人工智能
LeeZhao@8 分钟前
【狂飙全模态】狂飙AGI-智能答疑助手
数据库·人工智能·redis·语言模型·aigc·agi
AI浩12 分钟前
DeepSeek-V3.2:推动开源大型语言模型的前沿发展
人工智能·语言模型·自然语言处理
无代码专家15 分钟前
设备巡检数字化解决方案:构建高效闭环管理体系
java·大数据·人工智能
新智元18 分钟前
奥特曼怕了!GPT-5.5「大蒜」决战谷歌,红色警报紧急拉响
人工智能·openai
西柚小萌新19 分钟前
【深入浅出PyTorch】--9.使用ONNX进行部署并推理
人工智能·pytorch·python
LDG_AGI21 分钟前
【推荐系统】深度学习训练框架(十):PyTorch Dataset—PyTorch数据基石
人工智能·pytorch·分布式·python·深度学习·机器学习
oak隔壁找我25 分钟前
Python + Langchain + Streamlit + DashScope 实现一个网页版聊天机器人
人工智能
是Dream呀30 分钟前
昇腾实战|算子模板库Catlass与CANN生态适配
开发语言·人工智能·python·华为