Generatori di numeri casuali di Scipy

Generatori di numeri casuali di Scipy
Quando scrivi codice in lingua Python, ti imbatti spesso in varie biblioteche. Queste biblioteche Python rendono la vita degli sviluppatori più semplice e più semplice. Utilizzando queste librerie, gli sviluppatori possono facilmente gestire problemi pratici complessi e ottimizzare lunghe linee di codice con una funzione. Scipy è una di quelle incredibili biblioteche Python che aiuta gli sviluppatori con problemi statistici e scientifici. In questo articolo, discuteremo della funzione del generatore di numeri casuali della libreria Scipy. Poiché Scipy è una delle biblioteche Python più comunemente usate per i problemi scientifici e matematici, discuteremo qui in dettaglio la sua funzione di generatore di numeri casuali qui.

Cos'è un numero casuale?

Un numero casuale viene prodotto a caso e non attraverso la previsione logica. È come semplicemente scegliere qualsiasi numero da una serie senza fare alcuna logica. Il numero può essere ripetuto poiché il numero casuale non significa un numero univoco. I generatori di numeri casuali nel programma Python seguono la stessa logica per generare un numero casuale. La funzione può scegliere qualsiasi numero da una serie specifica senza fare alcuna logica e il numero può essere ripetuto più volte. È come un gioco Ludo in cui ti lanci dei dadi e si aspetta un numero tra 1 e 6, mentre procediamo, otteniamo lo stesso numero molte volte.

Generazione di numeri casuali con libreria Scipy

La libreria Scipy nella programmazione Python offre un'interfaccia unica per una varietà di generatori di numeri casuali universali non uniformi. L'oggetto Randint della libreria Scipy eredita la raccolta di metodi generici dalla libreria ed esegue varie funzioni di distribuzione casuale. Qui, spiegheremo come puoi eseguire la distribuzione casuale con il metodo del generatore di numeri casuali di Scipy.

Esempio 1:

Esploriamo il primo esempio e impariamo come utilizzare il generatore di numeri casuali della libreria Scipy nel nostro programma. Nel frammento di codice di seguito, è possibile trovare le poche righe di codice che tracciano un grafico e mostreranno la casualità nella distribuzione.

Importa Numpy come NP
da Scipy.Statistiche importano Randint
Importa matplotlib.Pyplot come Plt
f, g = plt.sottotrame (1, 1)
Inizia, fine = 6, 20
x = np.Arange (Randint.ppf (0, inizio, fine),
Randint.ppf (1, inizio, fine))
G.Trama (X, Randint.PMF (x, start, end), 'bo', ms = 10)
G.Vlines (X, 0, Randint.PMF (x, inizio, fine))
RV = RandInt (avvio, fine)
G.Vlines (X, 0, RV.PMF (x))
Plt.spettacolo()

Il programma è iniziato con l'importazione della libreria Numpy come NP. Dopodiché, il Scipy.Il pacchetto stats è incluso nel programma per importare la funzione Randint. Per tracciare il grafico, il matplotlib.Il pacchetto Pyplot è incluso come PLT nel programma. Ora che abbiamo tutte le biblioteche essenziali da usare, dimostriamo il generatore di numeri casuali di Scipy, quindi possiamo iniziare a scrivere il programma principale.

Sono dichiarate due variabili che iniziano e la fine per definire i punti di partenza e finale dell'intervallo del generatore di numeri casuali. Una volta che abbiamo, possiamo mappare i numeri casuali sull'asse X e l'asse Y. Per l'asse X, abbiamo dichiarato NP.Arange (Randint.ppf (0, start, end), Randint.ppf (1, inizio, fine)). Ora, questa X viene passata alla funzione Plot () per disegnare il grafico. Per disegnare le linee del risultato del generatore di numeri casuali, abbiamo usato G.Vlines (X, 0, Randint.PMF (x, inizio, fine)). Per la generazione di valori casuali, abbiamo usato RV = Randint (start, end). L'intervallo di inizio e fine è riportato all'inizio, 6 e 20, quindi il numero verrà generato tra 6 e 20.

Se hai notato che abbiamo usato i metodi PMF e PPF, ora ti chiedi cosa siano. La funzione Randint funziona con vari metodi, i.e., PMF, RVS, Logsf, PPF, entropia, media, intervallo, mediana, std, aspettarsi, ecc. In questo programma, stiamo usando i metodi PPF e PMF per dimostrare la funzione Randint della libreria Scipy. Il PPF sta per la funzione di punto percentuale e viene utilizzato per trovare i percentili. Il PMF sta per la funzione di massa di probabilità e viene utilizzato per calcolare le probabilità.

Ora, guarda l'output di seguito per comprendere le righe del codice indicate sopra. Quando vedi il risultato, puoi interpretare facilmente ogni riga di codice nel grafico. Vedi il risultato indicato nello screenshot di seguito:

Esempio 2:

Dal momento che sappiamo già che molti metodi possono essere usati con la funzione Randint, esploriamo un altro di loro. In precedenza, abbiamo usato il metodo PMF con PPF, in questo esempio, dimostreremo il funzionamento di CDF con il metodo PPF.

Importa Numpy come NP
da Scipy.Statistiche importano Randint
Importa matplotlib.Pyplot come Plt
f, g = plt.sottotrame (1, 1)
Inizia, fine = 6, 20
x = np.Arange (Randint.ppf (0, inizio, fine),
Randint.ppf (1, inizio, fine))
G.Trama (X, Randint.CDF (x, start, end), 'bo', ms = 10)
G.Vlines (X, 0, Randint.cdf (x, start, end))
RV = RandInt (avvio, fine)
G.Vlines (X, 0, RV.CDF (x))
Plt.spettacolo()

Il codice, come puoi osservare, è simile a quello che abbiamo impiegato nell'esempio precedente. I dati, il punto di partenza e end point, l'intervallo, i metodi di trama, tutto è lo stesso. Abbiamo appena sostituito la funzione PMF con il metodo CDF. Questo è stato usato per mostrarti il ​​funzionamento dei diversi metodi. Il CDF sta per la funzione di distribuzione cumulativa e viene utilizzato per calcolare la distribuzione cumulativa. I dati non sono stati modificati in modo da poter vedere la differenza nel risultato dei metodi PMF e CDF. Vedi l'output del metodo CDF di Randint di seguito:

Esempio 3:

Un altro metodo che può essere utilizzato con Randint è logpmf. Quindi in questo programma dimostreremo il funzionamento di Logpmf. Il resto del programma è lo stesso, l'unica modifica è che la funzione CDF viene sostituita con logpmf.

Importa Numpy come NP
da Scipy.Statistiche importano Randint
Importa matplotlib.Pyplot come Plt
f, g = plt.sottotrame (1, 1)
Inizia, fine = 6, 20
x = np.Arange (Randint.ppf (0, inizio, fine),
Randint.ppf (1, inizio, fine))
G.Trama (X, Randint.logpmf (x, start, end), 'bo', ms = 10)
G.Vlines (X, 0, Randint.logpmf (x, start, end))
RV = RandInt (avvio, fine)
G.Vlines (X, 0, RV.logpmf (x))
Plt.spettacolo()

Il logpmf sta per il registro della funzione di massa di probabilità. È simile alla funzione PMF ma prende il registro del PMF. Abbiamo spiegato la funzione PMF nel primo esempio, quindi puoi confrontare l'output di entrambi i programmi per vedere la differenza. Vedi l'output nello screenshot qui sotto:

Conclusione

Questo articolo è stato progettato per discutere del generatore di numeri casuali Scipy. Abbiamo appreso che la libreria Scipy ha un pacchetto statistico che fornisce la funzione Randint che può essere utilizzata con vari metodi Likf PPF, PMF, CDF, Mean, Logpmf, mediana, ecc. Abbiamo esplorato alcuni esempi semplici e utili per imparare a eseguire la generazione di numeri casuali usando la libreria Scipy di Python. Questi semplici esempi sono molto utili per capire come funziona la funzione Randint per la generazione di numeri casuali.