Как назначить вероятности на основе определенного условия? - PullRequest
0 голосов
/ 31 августа 2018

Я столкнулся со стеной здесь. Итак, я выбираю случайную выборку, скажем, 10 элементов, и я хочу дать им вероятности, основываясь на некотором условии. Допустим, у меня есть эта случайная выборка [1, 3, 5, 7, 13, 16, 6, 9, 22, 15], поэтому я хочу дать каждому числу вероятность, основанную на относительном расстоянии от целого числа 8. Следующий элемент от 8, меньше вероятность. В этом случае 7 и 9 имеют одинаковые, самые большие вероятности, а 22 имеют наименьшее?

Я пытался найти какую-то непонятную функцию, но безуспешно.

Спасибо!

1 Ответ

0 голосов
/ 31 августа 2018

Вы должны сделать две вещи. Создайте вероятность и выберите в соответствии с ней. Для его создания

data = np.array([1, 3, 5, 7, 13, 16, 6, 9, 22, 15])
p = 1 / np.abs(data - 8)

(это просто идея, вы не указываете, как именно вы хотите, чтобы вероятность изменялась с расстоянием)

Для второй части, функция numpy.choice ( в последних numpy версиях) может принять массив p для выбора с такой вероятностью из data

...