Там много случайных массивов. Используйте np.random.seed()
, чтобы получать одинаковые каждый раз. Например:
np.random.seed(42)
for _ in range(3):
print(np.random.random(3))
Каждый раз, когда вы запустите этот код, вы получите тот же результат. На моей машине:
[0.37454012 0.95071431 0.73199394]
[0.59865848 0.15601864 0.15599452]
[0.05808361 0.86617615 0.60111501]
Обратите внимание, что многие другие части конвейера машинного обучения также используют рандомизацию. Например:
- Разделение на наборы данных обучения, проверки и проверки с помощью
train_test_split()
. - Установка начальных весов в нейронной сети.
- Пути оптимизации.
Большинство функций ML позволяют вам передавать начальное число в качестве аргумента. Посмотрите в документации. В зависимости от того, что вы делаете, и от того, какие библиотеки вы используете, вы можете или не сможете сделать весь конвейер воспроизводимым.
Вам также может понравиться эта статья или этот о получении воспроизводимых результатов с Keras.