Автор оригинала: 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.
Вы можете связаться со мной @: