Генерация случайной вероятности на основе размера данных в Numpy - PullRequest
0 голосов
/ 19 февраля 2020

Я хочу сгенерировать неоднородную случайную выборку, используя диапазон и указать c размер, используя Numpy следующим образом:

np.random.choice(m=5, n, p=[0.1, 0, 0.3, 0.6, 0]),

Однако я хочу получить p случайным образом на основе размера m автоматически, без ручной записи p=[0.1, 0, 0.3, 0.6, 0]), как указано выше. Как это сделать в Numpy?

1 Ответ

1 голос
/ 19 февраля 2020

Способ получения списка случайных float значений длиной m, которые суммируются с 1:

m = 5
values = [np.random.rand() for _ in range(m)]
p = [v/sum(values) for v in values]

Однако, поскольку values все находятся в диапазоне 0 -1, вес будет более равномерным, чем после. Чтобы получить более точный ответ c, вам нужно будет указать, какой тип дистрибутива вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...