【小白学机器学习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()
相关推荐
Debroon1 分钟前
乳腺癌多模态诊断解释框架:CNN + 可解释 AI 可视化
人工智能·神经网络·cnn
反方向的钟儿8 分钟前
非结构化数据分析与应用(Unstructured data analysis and applications)(pt3)图像数据分析1
人工智能·计算机视觉·数据分析
Heartsuit16 分钟前
LLM大语言模型私有化部署-使用Dify的工作流编排打造专属AI搜索引擎
人工智能·dify·ollama·qwen2.5·ai搜索引擎·tavily search·工作流编排
剑盾云安全专家21 分钟前
AI加持,如何让PPT像开挂一键生成?
人工智能·aigc·powerpoint·软件
Lay_鑫辰26 分钟前
禾川HCQ1系列PAC脉冲控制步进驱动器
运维·人工智能·单片机·嵌入式硬件·自动化
感谢地心引力32 分钟前
【数据分析】层次贝叶斯
机器学习·数据分析·概率论
知恩呐11139 分钟前
seed_everything 函数
人工智能·深度学习
小众AI1 小时前
PDFMathTranslate - 基于AI的双语对照 PDF 翻译工具
人工智能·ai编程
勤劳的进取家2 小时前
多维高斯分布
人工智能·机器学习·概率论
【建模先锋】2 小时前
故障诊断 | 一个小创新:特征提取+KAN分类
人工智能·分类·数据挖掘