scipy.stats.uniform 的论据是啥?
Posted
技术标签:
【中文标题】scipy.stats.uniform 的论据是啥?【英文标题】:What are the arguments for scipy.stats.uniform?scipy.stats.uniform 的论据是什么? 【发布时间】:2017-11-18 05:16:04 【问题描述】:我正在尝试在两个数字(下限和上限)之间创建均匀分布,以便将其提供给 sklearn 的ParameterSampler。我使用scipy.stats.uniform,格式如下:
from scipy.stats import uniform
params = ParameterSampler('bandwidth':uniform(5,50), 20)
但是当我随机选择“带宽”参数时,它们并不都在 5 到 50 之间。其中一些比 50 大一点。所以我的问题是 scipy.stats.uniform 中的参数代表什么?它们不是下限和上限吗?文档没有显示任何参数,所以我无法从中弄清楚。
【问题讨论】:
【参考方案1】:第一个参数是下限,第二个参数是分布的范围。因此,您问题中的示例分布在 5 到 55 之间是均匀的。
引用您问题中链接的documentation:
一个均匀的连续随机变量。
这种分布在
loc
和loc + scale
之间是恒定的。
loc
是第一个参数,scale
是第二个参数。
【讨论】:
感谢您的彻底和及时的回复。非常有帮助。你怎么知道 loc 和 scale 是两个参数? 基本上,之前有使用uniform
和其他各种scipy概率分布的经验,它们都采用loc
和scale
参数。如果没有以前的经验,我会很不清楚该文档。【参考方案2】:
在给定的情况下,调用应该如下所示:
uniform.rvs(loc=5, scale=45)
虽然可以直接带参数调用分布,scipy.stats
有如下逻辑:
<dist_name>.rvs(loc=<param1>, scale=<param2>, size=(Nx, Ny))
【讨论】:
以上是关于scipy.stats.uniform 的论据是啥?的主要内容,如果未能解决你的问题,请参考以下文章
Typescript React:我是不是必须为超类构造函数指定参数。那会是啥论据?