Автор оригинала: Shubham Sayon.
Вступление
Случайные это встроенный модуль в Python, который генерирует псевдослучайная числа. Теперь случайные данные, сгенерированные этим модулем, не совсем случайно. Вместо этого он является псевдо-случайным, как упоминалось ранее.
📚 Примечание: А «Истинное случайный номер» может быть сгенерирован Trng (истинный генератор случайных номеров) во время A «Псевдослучайное число» генерируется PRNG (Pseudorandom Number Generator).
⚠️ Trng находится за пределами объема обсуждения в этой статье.
Итак, Что такое PRNG (генератор номера псевдоранда)? 🧐.
PRNG initially generates a random number known as seed. Then an algorithm is used to generate a pseudo-random sequence of bits based on it. In simple words, it is an algorithm that generates seemingly random numbers; however, these numbers are still reproducible.
Случайные Модуль имеет набор методов, которые помогают нам генерировать случайные элементы (числа). В этом руководстве мы будем сосредоточиться на Семя () Метод Случайные модуль Отказ
🖋️ Случайное семя () Метод в Python
Генератор случайных номеров нуждается в начальной точке, то есть, она нуждается в Значение семян начать генерацию последовательности случайных чисел. Таким образом, это Семя ()
Метод, который используется для инициализации генератора случайных чисел.
🚀 По умолчанию Текущее системное время используется генератором случайного номера в качестве начальной точки. Чтобы настроить начальный номер генератора случайного номера, вы должны использовать Семя () метод.
Синтаксис:
Пример:
import random random.seed(10) print(random.random())
Выход:
0.5714025946899135
🖋️ Как генерировать одно и то же случайное целое число каждый раз?
Если вы установите одинаковую Семя Значение перед вызовом любой функции случайных модулей, вы получите одно и то же число несколько раз.
Пример:
import random for i in range(3): # setting seed value to 10 random.seed(10) print("i[{}]={}".format(i,random.randint(12, 30)))
Выход:
i[0]=30 i[1]=30 i[2]=30
Объяснение: В вышеуказанном выходе мы получили тот же номер, что и вывод, потому что одинаковое семя было установлено перед использованием Рэннт
каждый раз.
🌱 Сравниваемые () и Random.Choice ()
➥ Выбор ()
это метод Случайные
Модуль, который выбирает случайный элемент из указанной последовательности ( String
, Range
, Список
, Tuple
).
Вы можете использовать пользовательское значение семян, чтобы получить значение одного и того же выбора снова и снова. Давайте посмотрим на следующий пример.
Пример
import random x = "PNEUMONOULTRAMICROSCOPICSILICOVOLCANOCONIOSIS" print("Output Without Setting A Seed: ") for i in range(3): print(random.choice(x)) print("Output After Setting A Seed: ") for i in range(3): random.seed(5) print(random.choice(x))
Выход:
Output Without Setting A Seed: R C N Output After Setting A Seed: N N N
🌱 Что такое Numpy случайное семя?
The np.random.seed function provides a seed value, i.e., a base input value to NumPy's pseudo-random number generator in Python.
Синтаксис:
Пример 1:
import numpy as np for i in range(3): np.random.seed(101) print('i[{}]={}'.format(i, np.random.randint(low=1, high=10, size=10)))
Выход:
i[0]=[2 7 8 9 5 9 6 1 6 9] i[1]=[2 7 8 9 5 9 6 1 6 9] i[2]=[2 7 8 9 5 9 6 1 6 9]
Вот еще один пример, чтобы вы могли визуализировать эффекты numpy.random.seed
Отказ
Пример 2:
import numpy as np print("GENERATE SAME RANDOM NUMBER WITH NUMPY.RANDOM.RANDOM") for i in range(2): np.random.seed(101) print('i[{}]={}'.format(i, np.random.random())) print("\nSELECT A RANDOM SAMPLE FROM AN INPUT ARRAY") for i in range(2): np.random.seed(0) print('i[{}]={}'.format(i, np.random.choice(a=[1, 2, 3, 4, 5, 6], size=5)))
Выход:
GENERATE SAME RANDOM NUMBER WITH NUMPY.RANDOM.RANDOM i[0]=0.5163986277024462 i[1]=0.5163986277024462 SELECT A RANDOM SAMPLE FROM AN INPUT ARRAY i[0]=[5 6 1 4 4] i[1]=[5 6 1 4 4]
🖋️ Применение Numpy.random.seed
- Машинное обучение
- Разделение наборов данных в тестовый набор и учебные наборы требуют случайной выборки. И случайная выборка, в свою очередь, требует псевдослучайных случайных чисел. Поэтому, если вы играете с моделями ML, то Random Numpy.seed () – это почти уверенность!
- Глубокое обучение
- Так же, как ML Проблемы, проблемы с глубоким обучением также требуют разделения набора данных в тестовый набор и обучение, набор с помощью псевдослучайных чисел.
- Случайная выборка
- вероятность и статистика
🤷🏻 Часто задаваемые вопросы
🔍 Должен ли я использовать numpy.random.seed или rander.seed?
- Ответ на этот вопрос зависит от того, используете ли вы случайный генератор Numpy в своем коде или на один в обычный случайном модуле.
- Случайные генераторы в
Случайные
иnumpy.random
иметь совершенно разные/отдельные внутренние состояния. Это значитrandom.seed ()
не повлияет на случайные последовательности, генерируемыеnumpy.random.randn ()
и т. Д. Точно так же,numpy.random.seed ()
не повлияет на случайные последовательности, порожденныеRandom.random ()
, так далее. - Если вы использовали оба
numpy.random
иСлучайные
В вашем коде вы должны отдельно установить семена для обоих.
🔍 Какой номер я должен использовать в Random.
Неважно, какой номер вы используете в numpy.random.seed ()
метод. Использование разных семян может вызвать только Случайные
модуль (или numpy в случае numpy.random.seed
) для генерации разных псевдослучайные числа. Таким образом, вывод случайной функции зависит от значения random.seed ()
Но выбор значения семян является произвольным.
Пример:
import random print("SEED VALUE = 10") for i in range(3): # setting seed value to 10 random.seed(10) print("i[{}]={}".format(i,random.randint(12, 30))) print("SEED VALUE = 15") for i in range(3): # setting seed value to 15 random.seed(15) print("i[{}]={}".format(i,random.randint(12, 30)))
Выход:
SEED VALUE = 10 i[0]=30 i[1]=30 i[2]=30 SEED VALUE = 15 i[0]=18 i[1]=18 i[2]=18
🔍 Как получить Random.seed (), чтобы использовать системное время?
Поскольку время продолжает меняться, следовательно, используя его в качестве значения семян для генерации случайных чисел, гарантирует, что значение семян продолжает меняться, и вы получите другую случайную последовательность/номер при каждом выполнении.
Пример:
import random import time random.seed(int(time.time())) c = 'abcdefghijklmnopqrstuvwxyz0123456789%^*(-_=+)' password = ''.join([c[random.randint(0, len(c) - 1)] for i in range(10)]) print("New Password: ", password)
Выход:
New Password: za2arj+hjz
Вывод
Я надеюсь, что эта статья помогла вам понять важность и использование Сравниваемые
в питоне. Пожалуйста, Подписаться и Оставайтесь настроиться Для более интересных концепций. Счастливое кодирование! 🐍
- Вы хотите быстро освоить самые популярные Python IDE?
- Этот курс приведет вас от новичка к эксперту в Пычарме в ~ 90 минут.
- Для любого разработчика программного обеспечения имеет решающее значение для освоения IDE хорошо, писать, тестировать и отлаживать высококачественный код с небольшим усилием.
Присоединяйтесь к Pycharm MasterClass Сейчас и мастер Pycharm на завтра!
Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.
Вы можете связаться со мной @: