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

Dat*_*Man 8 python scipy scikit-learn

我正在尝试在两个数字(下限和上限)之间创建一个均匀分布,以便将它提供给sklearn的ParameterSampler.我使用以下格式的scipy.stats.uniform:

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

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

abe*_*bop 9

第一个参数是下限,第二个参数是分布的范围.因此,您的问题中的示例分布在5到55之间是统一的.

引用您问题中链接的文档:

一个统一的连续随机变量.

这种分布在loc和之间是恒定的loc + scale.

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

  • 基本上,以前使用`uniform`和各种其他scipy概率分布的经验,都采用`loc`和`scale`参数.如果没有一些先前的经验,那些文档对我来说是非常不清楚的. (4认同)