Tempo di lettura stimato: 3 minuti
Potreste avere un certo numero di progetti di apprendimento automatico in cui avete bisogno di un modo per generare numeri interi casuali per testare le ipotesi del vostro modello.
Ci sono molti modi per raggiungere questo obiettivo, qui vi porteremo attraverso una serie di passi diversi.
Per dimostrarlo, vi portiamo attraverso una serie di scenari diversi, ma prima di farlo:
Quali sono gli usi dell'uso di uno o più dei seguenti elementi?
- Simulazione al computer - cerca di generare numeri casuali come parte di una simulazione in un programma per computer.
- Campionamento statistico - Se si sta conducendo qualche analisi su un insieme di dati, si usa il seguente per generare campioni in un intervallo.
- Introdurre la casualità - Aiuta con i test in diversi scenari per garantire che non permetta di introdurre alcun bias.
- Crittografia - Può essere usata come parte dei test di sicurezza per rendere sicuri i dati nella trasmissione o in un database.
- Stress testing - Scegliere valori estremi da passare a un programma e vedere come reagisce e se restituisce un errore.
Potete usare l'approccio della funzione randrange
In questa funzione, questo crea un valore selezionato a caso di cui avete bisogno, in un intervallo definito da voi:
from random import randrange
print(randrange(1,10,1))
Result = prints a random number starting at 1, ending at 10, in increments of 1
Usare la funzione randint ?
import random
print(random.randint(0,9))
Result = This produces a random number integer value between 0 and 9
E il concetto di funzione randbelow ?
from secrets import randbelow
print(randbelow(9))
Result = Returns a random number between 0 and 9
Di conseguenza, potreste provare la funzionalità numpy random.randit poiché è anche popolare
importa numpy come np print(np.random.randint(10, size=(1, 10)) Risultato = stampa dieci valori interi, qualsiasi cosa tra 1 e 10 Esempio di output: [[6 8 3 9 4 1 5 3 2 7]]
Usare la funzione range in un ciclo for è un'opzione
n={} # Creates a dictionary of key value pairs
for i in range(10):
n[i]=i
print(n)
Result = Iterates and creates a dictionary as it moves through each step.
Sampele Output:
{0: 0}
{0: 0, 1: 1}
{0: 0, 1: 1, 2: 2}
{0: 0, 1: 1, 2: 2, 3: 3}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}
Utilizzare random.randrange in un ciclo for
from random import randrange
for i in range(10):
print(random.randrange(0, 10))
Result = Loops ten times to create ten random numbers
Sample Output:
9
1
8
1
7
7
6
3
9
7
In questo caso,mentre il focus di questo post è sui numeri interi, abbiamo due esempi che usano i punti fluttuanti.
Potete generare punti fluttuanti casuali usando random.uniform
import random
print(random.uniform(0.0, 9.0))
Result = Returns a random floating point number.
Sample Output:
4.436111014119316
Un'alternativa è generare valori in virgola mobile casuali in un intervallo
Importazione di random per i in range(10): print(random.random()) Risultato = Restituisce dieci numeri casuali in virgola mobile. Esempio di output: 8.80776539498274 0.8975905667079721 0.8467133530607382 0.757433819303854 0.88431126761758 0.9077189321042094 0.4826489161220854 0.7689417823093723 0.505382717614604 0.3102908090040003 0.01832993383665016
Quindi, in sintesi, ci sono vari modi diversi per creare numeri casuali, sia uno solo che un gruppo di numeri casuali.
Di conseguenza, è un modo molto comodo per aiutare un programmatore a testare un progetto di apprendimento automatico.
D'altra parte, se avete bisogno di provare a rompere il vostro programma con valori che sono all'estremo di un intervallo, può essere adattato anche in questo modo.