【小白学机器学习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()
相关推荐
新知图书几秒前
工作分解结构辅助生成(使用千问)
人工智能·千问·高效办公
love530love5 分钟前
ComfyUI MediaPipe 终极填坑:解决 incompatible function arguments 报错,基于代理模式的猴子补丁升级版
人工智能·windows·comfyui·mediapipe·猴子补丁·monkey patch·python 3.12
dingzd958 分钟前
Facebook强化原创内容分发后跨境品牌如何重做素材策略
大数据·人工智能·新媒体运营·内容营销·跨境
卢子墨10 分钟前
Hermes Agent + 钉钉适配文档(重点解决图片引用识别问题)
人工智能·aigc·harness
小民AI实战笔记15 分钟前
GitHub Actions + 钉钉,半小时搭个免费的热榜推送机器人
人工智能·aigc·ai编程
Flittly15 分钟前
【LangGraph新手村系列】(3)PostgreSQL 持久化检查点:让状态跨越进程与重启
人工智能·python·langchain
麦芽糖021917 分钟前
大模型二 Agent入门实战(AI私厨)
人工智能
拾贰_C21 分钟前
【OpenClaw | openai | QQ】 配置QQ qot机器人
运维·人工智能·ubuntu·面试·prompt
码途漫谈29 分钟前
Easy-Vibe开发篇阅读笔记(二)——前端开发之Figma与MasterGo入门
人工智能·笔记·ai·开源·ai编程·figma
Jmayday29 分钟前
Pytorch:CNN理论基础
人工智能·pytorch·cnn