Автор оригинала: Pankaj Kumar.
Здравствуйте, читатели! В этой статье мы сосредоточимся на 5 распределениях данных NumPy в Python. Итак, давайте начнем!! 🙂
Начнем с того, что распределение данных позволяет нам иметь представление о распределении данных. То есть он представляет список всех возможных значений в термине диапазона данных, а также представляет частоту этих значений данных в распределении.
Модуль Python NumPy предлагает нам случайный класс, который помогает нам иметь случайно сгенерированные распределения данных для рандомизированных значений данных.
Распределение данных NumPy
Давайте работать с приведенными ниже распределениями данных NumPy.
- Распределение Zipf
- Распределение Парето
- Распределение Рэлея
- Экспоненциальное распределение
- Случайное распределение с функцией выбора()
1. Распределение Zipf
Распределение данных Zipf NumPy основано на законе zipf, который гласит, что x-й наиболее распространенный элемент в 1/x раз превышает наиболее распространенный элемент из диапазона.
Функция Python random.zipf() позволяет реализовать распределение zipf в массиве.
Синтаксис:
random.zipf(a,size)
- a : параметр распределения
- размер : размеры результирующего массива.
Пример:
from numpy import random data = random.zipf(a=2, size=(2, 4)) print(data)
Выход:
[[ 2 24 1 1] [ 4 1116 4 4]]
2. Распределение Парето
Это следует закону Парето, который гласит, что 20 процентов факторов способствуют и вызывают 80 процентов результатов. Функция pareto() позволяет нам реализовать распределение данных Парето по рандомизированным числам.
Взгляните на приведенный ниже синтаксис!
random.pareto(a,size)
- a : форма
- размер : размеры результирующего массива.
Пример:
from numpy import random data = random.pareto(a=2, size=(2, 4)) print(data)
Выход:
[[2.33897169 0.40735475 0.39352079 2.68105791] [0.02858458 0.60243598 1.17126724 0.36481641]]
3. Распределение Рэлея
С помощью Распределения Рэлея мы можем определить и понять распределение в терминах плотности вероятности при обработке сигналов.
Взгляните на приведенный ниже синтаксис!
random.rayleigh(scale,size)
- масштаб : Это значение стандартного отклонения, которое в основном определяет плоскостность распределения данных.
- размер : Размеры выходного массива.
Пример:
from numpy import random data = random.rayleigh(scale=2, size=(2, 4)) print(data)
Выход:
[[3.79504431 2.24471025 2.3216389 4.01435725] [3.1247996 1.08692756 3.03840615 2.35757077]]
4. Экспоненциальное распределение
Экспоненциальное распределение позволяет нам понять временные рамки до наступления следующего события. То есть скорость возникновения любого действия зависит от оценки вероятности. Например, фрейм успеха v/s интенсивность отказов – успех/неудача.
Синтаксис:
random.exponential(scale, size)
- масштаб : Обратное значение числа вхождений действия. По умолчанию.0
- размер : Размер выходного массива.
Пример:
from numpy import random data = random.exponential(scale=2, size=(2, 4)) print(data)
Выход:
[[0.56948472 0.08230081 1.39297867 5.97532969] [1.51290257 0.95905262 4.40997749 7.25248917]]
5. Случайное распределение с функцией выбора()
Случайное распределение представляет собой набор случайных данных, которые следуют определенным признакам значений плотности вероятности. Класс random предлагает нам функцию choice () , которая позволяет нам определять случайные числа на основе набора значений вероятности.
Вероятность колеблется от 0 до 1 – 0 означает, что число никогда не возникнет, а 1 означает, что число определенно и всегда будет возникать в наборе.
Синтаксис:
random.choice(array, p, size)
- массив : элементы, среди которых должно происходить случайное распределение данных. Количество элементов массива должно быть равно количеству p.
- p : оценка вероятности появления каждого элемента массива в случайном распределении данных. Сумма всех значений p должна быть равна 1.
- размер : Размер массива 2-D/1-D.
Пример:
from numpy import random data = random.choice([1,3,5,7], p=[0.1, 0.3, 0.2, 0.4], size=(2, 2)) print(data)
Выход:
[[7 7] [1 3]]
Вывод
На этом мы подошли к концу этой темы. Не стесняйтесь комментировать ниже, если у вас возникнут какие-либо вопросы.
Для получения дополнительных сообщений, связанных с программированием на Python, оставайтесь с нами.
А до тех пор Счастливого Обучения!! 🙂