在学习numpy时,遇到了rand和randn两个函数,一开始不注意还把这俩当成同一个函数了。后来从网上查到,rand产生的是位于(0, 1)内的随机数,我猜测可能是服从标准均匀分布的随机数;randn产生的是服从正态分布的随机数,但是正态分布的参数(均值和方差)没有查到。因此就想着自己试验一下,试着找到这两个问题的答案。
下面以randn函数为例:
一开始想着如果是正态分布的话,那反映到图形上就是一个钟形,如果能得到一个钟形,就说明是正态分布;进一步如果是正态分布,从坐标轴上就可大概看出参数是多少,比如如果是标准正态,参数就是(0,1)。因此想到了用matplotlib提供的画图函数,具体点是

import matplotlib.pyplot as plt
plt.plot(randn(100))
plt.show()

得到的图形是这样的:

才明白过来,这个只是个一维的数组,与那个经典的钟形相去甚远。因此决定换个办法。
又想到了,假如这是个正态分布,那么便可直接求其均值和方差,如果得到(0,1)便可说明其是标准正态分布:
1> 求均值

2> 求方差

可以看到随着生成的随机数的数量的增大,均值逐渐趋向于0,方差逐渐趋向于1,因此可以验证randn生成的是参数为(0, 1)的正态分布的随机数。
当然这里必须要强调的一点就是,以上全部基于随机数确实是属于正态分布的假设。
同理,也可以得到rand生成的是(0,1)上的标准均匀分布随机数。
最后有感慨的一点就是,知识应该就是要串联起来,旧知识带动新知识,自己动手去应用,去解决新问题,这样的学习才是真的有意思。

numpy.random 中rand和randn 函数的区别相关推荐

  1. Pytorch中rand,randn, random以及normal的区别

    Pytorch中rand,randn, random以及normal的区别 torch.rand() torch.randn() torch.normal() torch.randperm() tor ...

  2. MatLab中rand randi randn 三个函数的解析

    MatLab中rand randi randn 三个函数的解析 1.rand 概括:生成(0,1)之间的均匀分布的伪随机数 示例1: >>rand %什么参数也没有,生成一个(0,1)的数 ...

  3. Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用...

    Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...

  4. 【Python】Python中str()和repr()函数的区别

    作用 在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str() 或者 repr() . 区别与使用 参考文章:Python 中 str() 和 repr() 函数的 ...

  5. php strpose_php中strpos()和stripos()函数的区别用法详解

    本篇文章主要给大家介绍PHP中strpos()和stripos()函数的区别用法介绍,希望对需要的朋友有所帮助! strpos()函数 这个函数帮助我们找到一个字符串在另一个字符串中第一次出现的位置. ...

  6. mysql中from unixtime,mysql中FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别

    摘要 腾兴网为您分享:mysql中FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别,作业大师,智慧大学,优化大师,先游等软件知识,以及流星蝴蝶剑,升学指导网软件,承德大宗,q ...

  7. Python的numpy库中rand(),randn(),randint(),random_integers()等random系函数的使用

    在使用Python进行数据处理时,往往需要用到大量的随机数据,那如何构造这么多数据呢?Python的第三方库numpy库中提供了random函数来实现这个功能. 本文将根据官方文档以及其他博友的博客一 ...

  8. Python的numpy库中rand(),randn(),randint(),random_integers()的使用

    1.numpy.random.rand() 用法是:numpy.random.rand(d0,d1,-dn) 以给定的形状创建一个数组,并在数组中加入在[0,1]之间均匀分布的随机样本. 用法及实现: ...

  9. [Matlab] Matlab中rand,randn,rands和randi函数使用

    工业过程数据建模QQ群: 516473179 (欢迎交流) rand(m,n) 生成m行n列均匀分布在(0~1)之间的伪随机数 randn (m,n) 生成m行n列标准正态分布的伪随机数(均值为0,方 ...

最新文章

  1. wordpress如何禁用后台控制面板内容
  2. 比特币的矿工为什么讨厌开发组Core?
  3. 51CTO -- 网络自学的瓶颈期
  4. ip动态分配痕迹会保留多久_16,虚拟机的服务IP老变,怎么办?
  5. ecshop 广告设置
  6. Datepicker-for-Bootstrap 日期选择插件
  7. 没有为此文件配置应用程序上下文_如何在macOS中管理文件关联?
  8. 北斗三号频点_解码北斗三号:和前两代卫星相比,它有何不同?
  9. 内存保护单元(Memery Protection Unit)
  10. android相对控件居中对齐,相对布局(RelativeLayout)常用属性
  11. JavaScript+css实现的喜庆活动邀请函多页面html源码
  12. 让我差点中计的电话诈骗套路!|凹凸日常
  13. curl http POST请求出现405错误
  14. 安装C-Free 5.0
  15. 食饵-捕食者模型matlab,食饵-捕食者模型解读.ppt
  16. 现在哪些渠道可以做免费引流?引流主要的平台有哪些?
  17. Win10如何删除英语(美国)美式键盘
  18. 现行统编中学数学教科书有多烂
  19. 推荐几个数据分析宝藏公众号
  20. 【Android安全】Android app开发者证书和代码签名机制

热门文章

  1. R语言-光学字符识别分析SVM
  2. Android多媒体之相机Camera
  3. 原生js—classList.add()、classList.remove()、classList.contains()、classList.toggle()
  4. Java--LinkedList
  5. 正确及时关闭数据库连接
  6. SUN U45 B150 B2500 V240 V440 V880 V890服务器
  7. java buff_小师妹学JavaIO之:Buffer和Buff
  8. Java实现简单的汽车租赁系统
  9. 爱尔兰,这里是全世界离婚率最低的国家,你知道吗?
  10. 【day18】Java如何把UNIX时间戳转换成日期格式