加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在值数组上调用random.normal会增加噪声吗?

发布时间:2020-12-16 23:43:32 所属栏目:Python 来源:网络整理
导读:我在某人的代码中看到了这种模式: import numpy as np# Create arrayxx = np.linspace(0.0,100.0,num=100)# Add Noisexx = np.random.normal(xx) 它似乎为数组的每个值添加了一些噪音,但我找不到任何相关的文档.发生了什么?是什么决定了噪音的属性(即缩放)
我在某人的代码中看到了这种模式:
import numpy as np
# Create array
xx = np.linspace(0.0,100.0,num=100)
# Add Noise
xx = np.random.normal(xx)

它似乎为数组的每个值添加了一些噪音,但我找不到任何相关的文档.发生了什么?是什么决定了噪音的属性(即缩放)?给定值是否被视为来自正态分布的每个采样的平均值(即loc参数)?

我也很想知道为什么文档中似乎没有涵盖这种行为.

解决方法

我也没有看到它记录,但许多numpy函数采用ndarray将 operate on it element-wise.无论如何,你可以很容易地验证,当它传递一个数组时,它使用该元素的值为数组上的每个元素调用numpy.random.normal均值并返回一个数组:
In [9]: xx = numpy.array([1,10,100,1000])

In [10]: numpy.random.normal(xx)
Out[10]: 
array([  9.45865328e-01,1.11542264e+01,9.88601302e+01,1.00120448e+03])

似乎它使用默认值1.0作为比例.你可以覆盖这个:

In [12]: numpy.random.normal(xx,10)
Out[12]: array([    8.92500743,-5.66508088,97.33440273,1003.37940455])

In [13]: numpy.random.normal(xx,100)
Out[13]: array([ -75.13092966,-47.0841671,154.12913986,816.3126146 ])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读