Я пытаюсь создать матрицу случайных чисел, но мое решение слишком длинное и выглядит некрасиво
random_matrix = [[random.random() for e in range(2)] for e in range(3)]
это выглядит нормально, но в моей реализации это
weights_h = [[random.random() for e in range(len(inputs[0]))] for e in range(hiden_neurons)]
который крайне нечитаем и не помещается в одну строку.
python
random
coding-style
user2173836
источник
источник
numpy.random.random_integers(low, high, shape)
, напримерnumpy.random.random_integers(0, 100, (3, 3))
numpy.random.random
как и многие другиеnumpy.random
методы, принимает формы, то есть N-кортежи. Таким образом, на самом деле внешние скобки представляют вызов методаnumpy.random.random()
, а внутренние скобки - это синтаксический сахар для создания экземпляра кортежа,(3, 3)
который передается в функцию.numpy.random.random_integers()
устарела.numpy.random.randint()
Вместо этого используйте . docs.scipy.org/doc/numpy/reference/generated/…использовать
np.random.randint()
какnumpy.random.random_integers()
не рекомендуетсяисточник
Похоже, вы выполняете Python-реализацию упражнения для нейронной сети машинного обучения Coursera. Вот что я сделал для randInitializeWeights (L_in, L_out)
источник
Сначала создайте
numpy
массив, а затем преобразуйте его вmatrix
. См. Код ниже:источник
Для случайных чисел из 10. Для случайных чисел из 20 мы должны умножить на 20.
источник
Когда вы говорите «матрица случайных чисел», вы можете использовать numpy, как Павел https://stackoverflow.com/a/15451997/6169225, упомянутый выше, в этом случае я предполагаю, что вам неважно, какое распределение эти (псевдо ) случайных чисел придерживаются.
Однако, если вам требуется конкретный дистрибутив (я полагаю, вы заинтересованы в равномерном распределении), у вас
numpy.random
есть очень полезные методы для вас. Например, предположим, что вам нужна матрица 3x2 с псевдослучайным равномерным распределением, ограниченным [low, high]. Сделать это можно так:Обратите внимание: вы можете заменить
uniform
любое количество дистрибутивов, поддерживаемых этой библиотекой.Дополнительная литература: https://docs.scipy.org/doc/numpy/reference/routines.random.html
источник
Простой способ создания массива случайных целых чисел:
Следующее выводит матрицу 2 на 3 случайных целых чисел от 0 до 10:
источник
Для создания массива случайных чисел NumPy предоставляет создание массива, используя:
Действительные числа
Целые числа
Для создания массива с помощью случайных чисел Real: есть 2 варианта
random.rand
random.randn
Для создания массива с использованием случайных целых чисел:
где
например:
В данном примере будет создан массив случайных целых чисел от 0 до 4, его размер будет 5 * 5 и 25 целых чисел.
чтобы создать матрицу 5 на 5, ее нужно изменить на
arr2 = np.random.randint (0,5, size = (5,5)), замените символ умножения * на запятую, #
eg2:
В данном примере будет создан массив случайных целых чисел от 0 до 1, его размер будет 1 * 10 и будет 10 целых чисел.
источник
источник
Ответ с использованием map-reduce: -
источник
источник
numpy.random.rand (row, column) генерирует случайные числа от 0 до 1 в соответствии с заданными параметрами (m, n). Поэтому используйте его, чтобы создать матрицу (m, n) и умножить матрицу на предел диапазона и суммировать его с верхним пределом.
Анализ: если генерируется ноль, будет удерживаться только нижний предел, но если генерируется один, будет удерживаться только верхний предел. Другими словами, генерируя пределы с помощью rand numpy, вы можете генерировать экстремальные желаемые числа.
Вывод:
источник