Creare array con valori casuali tra 0 e 1 con NumPy
In questa pagina, esploreremo come creare array con valori casuali compresi tra 0 e 1 utilizzando NumPy. Comprenderemo alcune funzioni offerte da NumPy, come numpy.random.rand() e altre tecniche per la generazione di numeri casuali, e vedremo esempi pratici del loro utilizzo.
Creare array con numpy.random.rand
La funzione più diretta e comune per generare array con valori casuali tra 0 e 1 è numpy.random.rand(). Questa funzione restituisce un array di dimensioni specificate, popolato con numeri casuali da una distribuzione uniforme tra 0 e 1.
import numpy as np
array_casuale = np.random.rand(d1, d2, ..., dn)
Dove d1, d2, ..., dn sono le dimensioni dell'array. Se non vengono specificate dimensioni, la funzione restituirà un singolo valore casuale.
Esempi di utilizzo della funzione rand di NumPy
Possiamo utilizzare la funzione rand di NumPy per generare un singolo valore casuale tra 0 e 1:
import numpy as np
valore_casuale = np.random.rand()
Possiamo utilizzare rand anche per generare un array monodimensionale:
import numpy as np
array_casuale = np.random.rand(5)
Oppure, ad esempio, array bidimensionali:
import numpy as np
array_casuale_2d = np.random.rand(3, 4)
Qui abbiamo creato un array 3x4, ossia una matrice con 3 righe e 4 colonne, ciascuna popolata con numeri casuali tra 0 e 1.
Altre funzione per la generazione di valori casuali tra 0 e 1
Oltre a numpy.random.rand(), NumPy offre altre funzioni che consentono di generare numeri casuali in diverse distribuzioni:
numpy.random.uniform(low, high, size): genera numeri casuali uniformemente distribuiti tra un minimo (low) e un massimo (high).
import numpy as np array_uniforme = np.random.uniform(0, 1, 10)numpy.random.randn(): genera numeri casuali con una distribuzione normale standard (media 0, deviazione standard 1).
import numpy as np array_normale = np.random.randn(10)
Controllo casualità in NumPy
Per ottenere ripetibilità nei risultati, è spesso utile impostare un seed per il generatore di numeri casuali. Questo garantisce che la stessa sequenza di numeri casuali venga generata ogni volta che il codice viene eseguito, il che è fondamentale per il debugging o per esperimenti ripetibili.
import numpy as np
np.random.seed(42)
array_casuale = np.random.rand(5)
print(array_casuale) # Output: [0.37454012 0.95071431 0.73199394 0.59865848 0.15601864]