问题标签 [numpy-random]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Numpy - 生成随机数组,限制数组中的单个值 - 投资组合优化
我正在使用蒙特卡罗模拟开发带有约束的投资组合优化代码。但是,我遇到了一个问题。我的问题如下:
我有一个工具列表 [“Multi”、“Equity 1”、“Equity 2”、“Equity 3”、“FI”、“Cash”]
我想为这些工具生成一个随机数列表,例如
权重(随机数)= [xx, xx, xx, xx, xx, xx]
但是,有多个约束,例如:
- 所有权重在 0.05 和 0.20 之间。
- 说“现金”的权重必须在 0 到 0.10 之间(即 0<= weights[-1] <= 0.10)
- “股权 1”的权重必须为 0.15(即 weights[1] = 0.15)
无论如何,我可以生成满足所有这些条件的随机数吗?当然,所有权重的总和必须等于 1。
谢谢大家的帮助!
python - 这些替代的 numpy `uniform` 与 `random` 结构怎么可能不同?
我有一些代码随机初始化一些 numpy 数组:
一切运行良好,所有项目测试都通过了。
不幸的是,uniform()
返回np.float64
,尽管下游步骤只需要np.float32
,而且在某些情况下,这个数组非常大(想想数百万个 400 维的词向量)。因此临时np.float64
返回值暂时使用 3X 所需的 RAM。
因此,我用定义上应该等效的内容替换了上面的内容:
在此更改之后,所有密切相关的功能测试仍然通过,但是依赖于从如此初始化的向量进行的远下游计算的单个遥远的边缘测试已经开始失败。并且以非常可靠的方式失败。这是一个随机测试,在顶部情况下以较大的误差通过,但在底部情况下总是失败。所以:有些东西发生了变化,但以某种非常微妙的方式发生了变化。
的表面值new_vectors
似乎在这两种情况下都正确且相似地分布。同样,所有功能的“特写”测试仍然通过。
因此,我很想知道这个 3 行更改可能会带来哪些非直觉性的变化,而这些变化可能会出现在下游。
(我仍在尝试找到一个最小的测试来检测任何不同之处。如果您喜欢深入研究受影响的项目,查看成功的确切特写测试和失败的边缘测试,并提交/没有微小的变化,在https://github.com/RaRe-Technologies/gensim/pull/2944#issuecomment-704512389。但实际上,我只是希望一个 numpy 专家可能会认识到一些微小的角落案例,其中一些非-直觉发生,或提供一些可测试的相同理论。)
有什么想法、建议的测试或可能的解决方案吗?
python - 如果我不使用 Generator 或 RandomState,如何在 Numpy 中生成随机数?
我已经阅读了 Numpy 的文档,但是如果我不使用 Generator 或 RandomState,我仍然不知道如何生成随机数。据我所知,我们可以得到一个从 1 到 10 的随机数
那么第三种方式如何生成随机数呢?
numpy - CuPy 和 Dirichlet 给了我 TypeError: unsupported operand type(s) for +=: 'int' and 'tuple'
我只是想创建一个随机矩阵 A,其向量来自 Dirichlet 分布。该功能适用于numpy:
当我对cupy做同样的事情时
我收到以下错误:
当输入是这样的numpy数组时
然后我得到同样的错误。
当alpha.shape
我手动检查时,第 146 行是 (n,)。它是一个cupy bug还是我错过了什么?
我正在为 CUDA 10.1 使用 cupy-cuda101 版本 8.5.0。与 cupy 和 tensorflow 有关的所有其他内容都可以在我的 GPU (2080ti) 上完美运行。
python - 从另一个概率分布 P(x) 生成概率分布 P(y),使得 P(x) 中的最高概率在 P(y) 中的可能性最小
所以手头的问题是我在带有计数器的字典中有一些值,比方说
我想从这个字典中随机选择键,并在选择特定键时增加计数器。
但是当我选择键并增加这些键的计数器时,我希望选择的概率高于计数器值小于其他键的键。
我在下面的回答中实现了这个想法。请让我知道这是否有意义以及是否有更好的方法来做到这一点?
python - 每次调用函数时都会弹出 KeyError
嗨,我正在尝试使用 Omniglot 数据集实现连体神经网络以进行一次性图像识别。实现的初始步骤需要生成具有相同/不同类的对样本,为此我使用了Ben Myara 的 github中的make_pair函数,几乎没有修改。但是,每次调用函数时都会弹出keyError,所以我想知道导致此错误的原因,这是我的实现:
当我尝试使用以下命令调用该函数时发生错误:
这是我得到的回溯错误:
此外,我还尝试在没有 for 循环的情况下实现部分功能,并且一切似乎都在那里正常工作:
numpy - 使用 sklearn 对 MNIST 数据集进行手写数字识别
我想使用 sklearn 在 MNIST 数据集上构建手写数字识别,并且我想为特征(x)和标签(y)打乱我的训练集。但它显示了一个 KeyError。让我知道正确的方法是什么。
python - numpy.random.choice,百分比在实践中不起作用
我正在运行类似于以下内容的 python 代码:
我们正在针对数以万计的用户在野外运行它。我注意到分配不尊重实际的组百分比。EG 如果我们的百分比是 [.9, .1],我们注意到每小时之间的分配是一致的,分别为 80% 和 20%。我们已经确认choice
函数的输入是正确的,并且与实际行为不匹配。
有谁知道为什么会发生这种情况?是因为我们使用的是全局 numpy 吗?一些组将在 [.9, .1] 之间划分,而其他组将在 [.33,.34,.33] 等之间划分。不同组的组是否可能相互干扰?
我们在多个节点上的 python 烧瓶 Web 应用程序中运行此代码。
关于如何获得可靠的“随机”加权选择的任何建议?