Случайное распределение данных
Что такое распространение данных?
Распределение данных — это список всех возможных значений и частота появления каждого значения.
Такие списки важны при работе со статистикой и наукой о данных.
Модуль random предлагает методы, которые возвращают случайно сгенерированные распределения данных.
Случайное распределение
Случайное распределение представляет собой набор случайных чисел, которые следуют определенной функции плотности вероятности .
Функция плотности вероятности: функция, описывающая непрерывную вероятность. т.е. вероятность всех значений в массиве.
Мы можем генерировать случайные числа на основе определенных вероятностей, используя
choice()
метод
random
модуля.
Метод choice()
позволяет указать вероятность для каждого значения.
Вероятность задается числом от 0 до 1, где 0 означает, что значение никогда не будет встречаться, а 1 означает, что значение будет встречаться всегда.
Пример
Создайте одномерный массив, содержащий 100 значений, где каждое значение должно быть 3, 5, 7 или 9.
Вероятность того, что значение равно 3, установлена равной 0,1.
Вероятность того, что значение равно 5, устанавливается равной 0,3.
Вероятность того, что значение равно 7, устанавливается равной 0,6.
Вероятность того, что значение равно 9, установлена равной 0.
from numpy import random
x = random.choice([3, 5, 7, 9], p=[0.1, 0.3,
0.6, 0.0], size=(100))
print(x)
Сумма всех чисел вероятности должна быть равна 1.
Даже если вы запустите приведенный выше пример 100 раз, значение 9 никогда не появится.
Вы можете вернуть массивы любой формы и размера, указав форму в
size
параметре.
Пример
Тот же пример, что и выше, но возвращает двумерный массив с 3 строками, каждая из которых содержит 5 значений.
from numpy import random
x = random.choice([3, 5, 7, 9], p=[0.1, 0.3,
0.6, 0.0], size=(3, 5))
print(x)