博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
随机数模块(random)
阅读量:5456 次
发布时间:2019-06-15

本文共 1080 字,大约阅读时间需要 3 分钟。

随机数模块(random)

生成服从特定统计规律的随机数序列。

二项分布(binomial)

二项分布就是重复n次独立事件的伯努利试验。在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立,并且相互独立,事件发生与否的概率在每一次独立试验中都保持不变。

# 产生size个随机数,每个随机数来自n次尝试中的成功次数,其中每次尝试成功的概率为p。np.random.binomial(n, p, size)

二项分布可以用于求如下场景的概率的近似值:

某人投篮命中率为0.3,投10次,进5个球的概率。

sum(np.random.binomial(10, 0.3, 200000) == 5) / 200000
#随机数import  numpy as np#命中率0.3 投10次,进几个?n = np.random.binomial(10,0.3,100000)for i in range(0,11):  p = (n==i).sum()/100000  print(i,':',p)

某人打客服电话,客服接通率是0.6,一共打了3次,都没人接的概率。

sum(np.random.binomial(3, 0.6, 200000) == 0) / 200000

超几何分布(hypergeometric)

# 产生size个随机数,每个随机数t为在总样本中随机抽取nsample个样本后好样本的个数,总样本由ngood个好样本和nbad个坏样本组成np.random.hypergeometric(ngood, nbad, nsample, size)
#超几何分布n = np.random.hypergeometric(7,3,5,200000)# print(n)for i in range(2,6):  p=(n==i).sum()/200000  print(i, ':', p)

正态分布(normal)

# 产生size个随机数,服从标准正态(期望=0, 标准差=1)分布。np.random.normal(size)# 产生size个随机数,服从正态分布(期望=1, 标准差=10)。np.random.normal(loc=1, scale=10, size)

通常在数据分析的数据预处理阶段,会对当前样本数据进行少量的异常值修改与缺少值填充,可以使用random得到符合某种概率分布的一组随机数,完成数据预处理.

 

转载于:https://www.cnblogs.com/maplethefox/p/11491743.html

你可能感兴趣的文章
机器学习评价方法 - Recall & Precision
查看>>
dedecms网站迁移时记得将安装目录放空 附迁移的正确方法
查看>>
E. Intersection of Permutations
查看>>
将数据集做成VOC2007格式用于Faster-RCNN训练
查看>>
[数学趣味001]RSA算法原理及示例
查看>>
自定义Scons中Builder
查看>>
Petshop学习第三天
查看>>
zookeeper笔记
查看>>
JavaMail发送邮件
查看>>
centos6.5和centos7如何搭建php环境
查看>>
js 金额分隔符的方法
查看>>
Selenium定位元素-Xpath的使用方法
查看>>
oracle 模糊查询中的转义字符用法
查看>>
java克隆对象clone()的使用方法和作用
查看>>
unity 切圆角矩形 --shader编程
查看>>
大话设计模式C++版——装饰模式
查看>>
java和C#异常处理的差异
查看>>
pre标签
查看>>
缓存好文章
查看>>
auto function -> return type 当不能从{}内推断类型时
查看>>