【小白学机器学习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()
相关推荐
一条数据库20 分钟前
AI生成文本检测数据集:基于不平衡数据集(人类94% vs AI 6%)的高效机器学习模型训练,涵盖ChatGPT、Gemini等LLM生成内容
人工智能
山烛1 小时前
OpenCV:图像直方图
人工智能·opencv·计算机视觉·图像直方图
摘星编程1 小时前
AI 帮我写单测:pytest 覆盖率提升 40% 的协作日志
人工智能·pytest·测试驱动开发·代码覆盖率·ai协作开发
荼蘼1 小时前
OpenCV 发票识别全流程:透视变换与轮廓检测详解
人工智能·opencv·计算机视觉
大怪v1 小时前
前端佬:机器学习?我也会啊!😎😎😎手“摸”手教你做个”自动驾驶“~
前端·javascript·机器学习
☼←安于亥时→❦1 小时前
PyTorch 梯度与微积分
人工智能·pytorch·python
mahuifa2 小时前
OpenCV 开发 -- 图像阈值处理
人工智能·opencv·计算机视觉
闲人编程2 小时前
图像去雾算法:从物理模型到深度学习实现
图像处理·人工智能·python·深度学习·算法·计算机视觉·去雾
咔咔学姐kk2 小时前
大模型微调技术宝典:Transformer架构,从小白到专家
人工智能·深度学习·学习·算法·transformer
Caaacy_YU3 小时前
多模态大模型研究每日简报【2025-09-10】
论文阅读·人工智能·深度学习·机器学习·计算机视觉