J'essaie de créer une matrice de nombres aléatoires, mais ma solution est trop longue et a l'air moche
random_matrix = [[random.random() for e in range(2)] for e in range(3)]
cela semble correct, mais dans ma mise en œuvre, c'est
weights_h = [[random.random() for e in range(len(inputs[0]))] for e in range(hiden_neurons)]
qui est extrêmement illisible et ne tient pas sur une seule ligne.
python
random
coding-style
user2173836
la source
la source
numpy.random.random_integers(low, high, shape)
, par exemplenumpy.random.random_integers(0, 100, (3, 3))
numpy.random.random
comme beaucoup d'autresnumpy.random
méthodes acceptent les formes, c'est-à-dire N-tuples. Donc, en réalité, les paranthèses extérieures représentent l'appel de la méthodenumpy.random.random()
, et les paranthèses intérieures sont du sucre syntaxique pour instancier le tuple(3, 3)
qui est passé dans la fonction.numpy.random.random_integers()
est obsolète. Utiliseznumpy.random.randint()
plutôt. docs.scipy.org/doc/numpy/reference/generated/…utiliser
np.random.randint()
telnumpy.random.random_integers()
quella source
Il semble que vous exécutiez une implémentation Python de l'exercice Coursera Machine Learning Neural Network. Voici ce que j'ai fait pour randInitializeWeights (L_in, L_out)
la source
Tout d'abord, créez un
numpy
tableau puis convertissez-le enmatrix
. Voir le code ci-dessous:la source
Pour des nombres aléatoires sur 10. Pour sur 20, nous devons multiplier par 20.
la source
Lorsque vous dites "une matrice de nombres aléatoires", vous pouvez utiliser numpy comme Pavel https://stackoverflow.com/a/15451997/6169225 mentionné ci-dessus, dans ce cas, je suppose que la distribution de ces derniers (pseudo ) les nombres aléatoires adhèrent.
Cependant, si vous avez besoin d'une distribution particulière (j'imagine que vous êtes intéressé par la distribution uniforme),
numpy.random
a des méthodes très utiles pour vous. Par exemple, disons que vous voulez une matrice 3x2 avec une distribution uniforme pseudo aléatoire limitée par [faible, élevé]. Vous pouvez faire ceci comme ceci:Notez que vous pouvez remplacer
uniform
par n'importe quel nombre de distributions prises en charge par cette bibliothèque.Lectures complémentaires: https://docs.scipy.org/doc/numpy/reference/routines.random.html
la source
Un moyen simple de créer un tableau d'entiers aléatoires est:
Ce qui suit génère une matrice 2 par 3 d'entiers aléatoires de 0 à 10:
la source
Pour créer un tableau de nombres aléatoires, NumPy permet de créer un tableau en utilisant:
Nombres réels
Entiers
Pour créer un tableau en utilisant des nombres réels aléatoires : il y a 2 options
random.rand
random.randn
Pour créer un tableau en utilisant des nombres entiers aléatoires :
où
par exemple:
L'exemple donné produira un tableau d'entiers aléatoires entre 0 et 4, sa taille sera 5 * 5 et aura 25 entiers
afin de créer une matrice 5 sur 5, elle doit être modifiée en
arr2 = np.random.randint (0,5, size = (5,5)), changez le symbole de multiplication * en virgule, #
eg2:
L'exemple donné produira un tableau d'entiers aléatoires entre 0 et 1, sa taille sera 1 * 10 et aura 10 entiers
la source
la source
Une réponse utilisant map-Reduce: -
la source
la source
numpy.random.rand (ligne, colonne) génère des nombres aléatoires entre 0 et 1, selon les paramètres spécifiés (m, n) donnés. Utilisez-le donc pour créer une matrice (m, n) et multipliez la matrice pour la limite de plage et additionnez-la à la limite supérieure.
Analyse: Si zéro est généré, seule la limite basse sera maintenue, mais si une est générée, seule la limite haute sera maintenue. En d'autres termes, en générant les limites à l'aide de rand numpy, vous pouvez générer les nombres extrêmes souhaités.
Production:
la source