scipy.stats.uniform的论点是什么?

2024-05-29 05:10:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在两个数字(下界和上界)之间创建一个统一的分布,以便将其馈送给sklearn的ParameterSampler。我使用的scipy.stats.uniform格式如下:

from scipy.stats import uniform    
params = ParameterSampler({'bandwidth':uniform(5,50)}, 20)

但当我随机选择“带宽”参数时,它们并不都在5到50之间。有些比50大一点。所以我的问题是scipy.stats.uniform中的参数代表什么?它们不是下限和上限吗?文档中没有显示任何参数,因此我无法从中找出原因。


Tags: from文档import参数格式stats代表数字
2条回答

第一个参数是下限,第二个参数是分布的范围。所以你问题中的例子分布在5到55之间是一致的。

引用您问题中链接的documentation中的内容:

A uniform continuous random variable.

This distribution is constant between loc and loc + scale.

loc是第一个参数,scale是第二个参数。

在给定的情况下,调用应该是这样的:

uniform.rvs(loc=5, scale=45)

即使可以用参数直接调用分布,scipy.stats具有以下逻辑:

<dist_name>.rvs(loc=<param1>, scale=<param2>, size=(Nx, Ny))

相关问题 更多 >

    热门问题