作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个带有总和为 1 的随机变量的 numpy 数组,但我也想包含负值。
我正在尝试:
size =(50,1)
w = np.array(np.random.random(size))
创建数组并填充数字(负数和正数),这工作正常。
现在我试图通过以下方式使它们总和为 1:
w /= np.sum(w)
但这会将我的值更改为所有正值(消除负值)。
做这样一个数组的正确方法是什么?
编辑:我已经尝试过 random.int 和 random.uniform,但问题是它们的总和不等于 1。如果我使用 w/= np.sum(w)
为了确保它们总和为 1,它只返回正值。
最佳答案
你的问题不是你的规范化,而是你的随机生成器。 np.random.random
始终从 (0,1)
生成正 float 。如果您想要负数,则必须更改它。
w = np.random.random(size)*2-1
w /= w.sum()
w
array([[ 0.05377353],
[ 0.11272973],
[ 0.00789277],
...,
[ 0.06874176],
[-0.12505825],
[-0.15924267]])
w.sum()
1.0
关于python - 生成总和为 1 的随机变量数组(正负),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46424563/
我不敢相信这实际上是在问我一个问题。但是我的数据库中有一些十进制值,即 0.9999999,使用: number_format($result['debit'], 2); number_format(
我正在尝试创建一个带有总和为 1 的随机变量的 numpy 数组,但我也想包含负值。 我正在尝试: size =(50,1) w = np.array(np.random.random(size))
我正在尝试构建一个接受可变数量参数的函数。 该函数接受 n 个输入并计算所有可能的加法和减法的和,例如如果参数是 1,2,3 1 + 2 + 3 1 - 2 - 3 1 + 2 - 3 1 - 2 +
我是一名优秀的程序员,十分优秀!