Создание поддельных данных в Python - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь создать функцию, которая создает поддельные данные для использования в отдельном анализе.Вот требования к функции.

Задача 1

В этой задаче вы создадите поддельные данные, используя numpy.В ячейке ниже функция create_data принимает 2 параметра: «n» и «rand_gen».

  • Параметр «rand_gen» является генератором псевдослучайных чисел. Мы используем генератор псевдослучайных чисел длявыдайте те же результаты.
  • Используйте функцию numpy.random.randn генератора псевдослучайных чисел для создания массива numpy длины n и возврата массива.

ВотФункция, которую я создал.

def create_data(n, rand_gen):
'''
Creates a numpy array with n samples from the standard normal distribution

Parameters
-----------
n : integer for the number of samples to create
rand_gen : pseudo-random number generator from numpy  

Returns
-------
numpy array from the standard normal distribution of size n
'''

numpy_array = np.random.randn(n)
return numpy_array

Вот первый тест, который я выполняю для своей функции.

create_data(10, np.random.RandomState(seed=23))

Мне нужен вывод, чтобы это былоТочный массивЯ знаю, что мне нужно использовать переменную rand_gen в моей функции, но я не знаю, где, и я думаю, что это потому, что я просто не понимаю, что она пытается сделать.

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Я думаю, что вы задаете вопрос о псевдослучайных числах и воспроизводимых случайностях.

Реальные случайные числа создаются с непредсказуемыми данными, такими как наблюдение за лампами лавы, в то время как псевдослучайные числа создают длинную последовательность чисел, которая выглядит случайной.

Основной алгоритм:

  1. получить начальное число или большое число, возможно, из текущего времени часов.
  2. принять часть начального числа в качестве случайногочисло
  3. делает невероятные математические искажения для начального числа, включая сдвиги битов, экспоненты и умножения.
  4. использует выходные данные этих вычислений в качестве нового начального числа, переходите к шагу 2.

Хитрость в том, что указание одного и того же семени означает, что вы каждый раз получаете одну и ту же последовательность.Вы можете установить это с помощью numpy.random.seed() и затем каждый раз получать одну и ту же последовательность.

Я надеюсь, что это вопрос, который вы задавали.

0 голосов
/ 18 октября 2018

Определить numpy_array = rand_gen.randn (n)

...