Menu
CoddyTech

Случайные числа

Часть раздела Данные и графики путешествия по Machine Learning на Coddy. Урок 18 из 60.

Симуляции, перемешанные данные и необученные модели начинаются со случайных чисел. Эти 1 000 вымышленных значений роста получены одной строкой:

Гистограмма 1 000 случайных значений роста имеет форму колокола: самые высокие столбцы находятся около среднего значения 170 см, а к 140 и 200 см их высота уменьшается

NumPy генерирует их с помощью генератора, запускаемого с помощью начального значения:

rng = np.random.default_rng(42)
heights = rng.normal(170, 10, size=1000)
print(np.round(heights[:4], 1))
print(rng.integers(1, 7, size=5))
print(np.round(rng.random(3), 2))

Это выводит:

[173.  159.6 177.5 179.4]
[2 4 3 3 5]
[0.44 0.13 0.09]

normal(mean, std, size) группирует значения вокруг среднего. integers не включает верхнюю границу, как range. random возвращает десятичные числа от 0 до 1.

Одинаковое начальное значение даёт одинаковые числа на любом компьютере, поэтому каждый может повторить твой эксперимент. Каждый вызов продвигает генератор.

challenge icon

Задание

Легко

Магазин моделирует неделю, которую повторный запуск должен воспроизвести.

  1. Создай rng_a с начальным значением и сгенерируй 7 значений количества покупателей в диапазоне от 20 до 60 включительно, затем 7 значений расходов, распределённых нормально: среднее 15, стандартное отклонение 4.
  2. Сгенерируй значения количества покупателей ещё раз с помощью rng_b с тем же начальным значением и rng_c с начальным значением, увеличенным на 1.
  3. Выведи данные, как показано ниже: расходы округли до 1 десятичного знака, а также выведи количество дней, когда значения для b и c совпадают со значениями для a.

Для начального значения 12:

Customers: [45 30 59 58 22 27 28]
Spend: [21.5 10.2 12.5  9.7 14.6 19.  14.9]
Same seed, days that match: 7
Seed + 1, days that match: 1

Попробуйте сами

import numpy as np

seed = int(input())

# Напишите свой код ниже
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Данные и графики

Потренируйтесь самостоятельно: Онлайн-компилятор Python