Scipy tilfeldige tallgeneratorer

Scipy tilfeldige tallgeneratorer
Når du skriver kode på Python -språket, kommer du ofte over forskjellige biblioteker. Disse Python -bibliotekene gjør utviklernes liv enklere og enklere. Ved hjelp av disse bibliotekene kan utviklere enkelt administrere komplekse praktiske problemer og optimalisere lange kodelinjer med en funksjon. Scipy er et av de utrolige Python -bibliotekene som hjelper utviklere med statistiske og vitenskapelige problem. I denne artikkelen skal vi diskutere den tilfeldige nummergeneratorfunksjonen til Scipy Library. Siden Scipy er et av de mest brukte Python -bibliotekene for vitenskapelige og matematiske problem, vil vi diskutere dens tilfeldige tallgeneratorfunksjon i detalj her.

Hva er et tilfeldig tall?

Et tilfeldig tall produseres tilfeldig og ikke gjennom logisk prediksjon. Det er som bare å velge et hvilket som helst nummer fra en serie uten å lage noen logikk. Antallet kan gjentas da det tilfeldige tallet ikke betyr et unikt tall. De tilfeldige tallgeneratorene i Python -programmet følger den samme logikken for å generere et tilfeldig tall. Funksjonen kan velge og velge hvilket som helst nummer fra en bestemt serie uten å lage noen logikk, og antallet kan gjentas flere ganger. Det er som et ludospill der du ruller terninger og forventer et hvilket som helst tall mellom 1 og 6, når vi går sammen, vi får samme antall mange ganger.

Tilfeldig tallgenerering med scipy bibliotek

Scipy Library in Python-programmering tilbyr et unikt grensesnitt for en rekke universelle ikke-ensartede tilfeldige tallgeneratorer. Randint -objektet til Scipy -biblioteket arver samlingen av generiske metoder fra biblioteket og utfører forskjellige tilfeldige distribusjonsfunksjoner. Her vil vi forklare hvordan du kan utføre tilfeldig distribusjon med scipy tilfeldig tallgeneratormetode.

Eksempel 1:

La oss utforske det første eksemplet og lære å bruke den tilfeldige tallgeneratoren til Scipy -biblioteket i programmet vårt. I kodebiten nedenfor kan du finne de få kodelinjene som vil plotte en graf og vise tilfeldigheten i distribusjonen.

Importer numpy som NP
Fra scipy.Statistikk importerer Randint
Importer matplotlib.Pyplot som Plt
f, g = plt.underplott (1, 1)
Start, slutt = 6, 20
x = np.Arange (Randint.PPF (0, start, slutt),
Randint.PPF (1, start, slutt))
g.Plott (X, Randint.PMF (x, start, slutt), 'bo', ms = 10)
g.Vlines (x, 0, Randint.PMF (x, start, slutt))
RV = randint (start, slutt)
g.vlines (x, 0, RV.PMF (x))
plt.forestilling()

Programmet startet med å importere Numpy -biblioteket som NP. Etter det, Scipy.Statistikkpakke er inkludert i programmet for å importere RANDINT -funksjonen. Å plotte grafen, matplotlib.Pyplot -pakken er inkludert som PLT i programmet. Nå som vi har alle essensielle biblioteker å bruke, la oss demonstrere den scipy tilfeldige tallgeneratoren, så kan vi begynne å skrive hovedprogrammet.

To variabler starter og slutt er erklært å definere start- og sluttpunktene i det tilfeldige tallgeneratorområdet. Når vi har det, kan vi kartlegge de tilfeldige tallene på x-aksen og y-aksen. For x-aksen erklærte vi NP.Arange (Randint.ppf (0, start, slutt), randint.PPF (1, start, slutt)). Nå blir denne X sendt til plottet () -funksjonen for å tegne grafen. For å tegne linjene i resultatet av tilfeldig tallgenerator, brukte vi G.Vlines (x, 0, Randint.PMF (x, start, slutt)). For tilfeldig verdi generasjon brukte vi RV = Randint (start, slutt). Start- og sluttområdet er gitt i begynnelsen, 6 og 20, så antallet vil bli generert mellom 6 og 20.

Hvis du har lagt merke til at vi brukte PMF- og PPF -metodene, må du lure på hva de er. Randint -funksjonen fungerer med forskjellige metoder, i.e., PMF, RVS, LOGSF, PPF, entropi, middel, intervall, median, STD, forventer osv. I dette programmet bruker vi PPF- og PMF -metodene for å demonstrere RANDINT -funksjonen til Scipy Library. PPF står for prosentpoengfunksjon, og den brukes til å finne persentilene. PMF står for sannsynlighetsmassefunksjon og brukes til å beregne sannsynlighetene.

Se nå på utdataene nedenfor for å forstå kodelinjene gitt ovenfor. Når du ser resultatet, kan du enkelt tolke hver kodelinje i grafen. Se resultatet gitt på skjermbildet nedenfor:

Eksempel 2:

Siden vi allerede vet at mange metoder kan brukes med RANDINT -funksjonen, la oss utforske en av dem til. Tidligere brukte vi PMF -metoden med PPF, i dette eksemplet vil vi demonstrere arbeidet med CDF med PPF -metoden.

Importer numpy som NP
Fra scipy.Statistikk importerer Randint
Importer matplotlib.Pyplot som Plt
f, g = plt.underplott (1, 1)
Start, slutt = 6, 20
x = np.Arange (Randint.PPF (0, start, slutt),
Randint.PPF (1, start, slutt))
g.Plott (X, Randint.CDF (x, start, slutt), 'bo', ms = 10)
g.Vlines (x, 0, Randint.CDF (x, start, slutt))
RV = randint (start, slutt)
g.vlines (x, 0, RV.CDF (x))
plt.forestilling()

Koden, som du kan observere, ligner på det vi benyttet i foregående eksempel. Dataene, start- og sluttpunktet, rekkevidden, plottingmetodene, alt er det samme. Vi erstattet nettopp PMF -funksjonen med CDF -metoden. Dette har blitt brukt for å vise deg å jobbe med de forskjellige metodene. CDF står for kumulativ distribusjonsfunksjon og brukes til å beregne den kumulative fordelingen. Dataene er ikke endret slik at du kan se forskjellen i resultatet av PMF- og CDF -metodene. Se utgangen fra CDF -metoden til RANDINT nedenfor:

Eksempel 3:

En annen metode som kan brukes med RANDINT er LOGPMF. Så i dette programmet vil vi demonstrere arbeidet med LOGPMF. Resten av programmet er den samme, den eneste modifiseringen er at CDF -funksjonen erstattes med LOGPMF.

Importer numpy som NP
Fra scipy.Statistikk importerer Randint
Importer matplotlib.Pyplot som Plt
f, g = plt.underplott (1, 1)
Start, slutt = 6, 20
x = np.Arange (Randint.PPF (0, start, slutt),
Randint.PPF (1, start, slutt))
g.Plott (X, Randint.logpmf (x, start, slutt), 'bo', ms = 10)
g.Vlines (x, 0, Randint.logpmf (x, start, slutt))
RV = randint (start, slutt)
g.vlines (x, 0, RV.logpmf (x))
plt.forestilling()

LogPMF står for logg av sannsynlighetsmassefunksjonen. Det ligner på PMF -funksjonen, men tar loggen til PMF. Vi forklarte PMF -funksjonen i det første eksemplet, slik at du kan sammenligne resultatet fra begge programmene for å se forskjellen. Se utdataene i skjermbildet nedenfor:

Konklusjon

Denne artikkelen er designet for å diskutere den scipy tilfeldige tallgeneratoren. Vi lærte at Scipy -biblioteket har en statistikkpakke som gir RANDINT -funksjonen som kan brukes med forskjellige metoder Likf PPF, PMF, CDF, Mean, LogPMF, median, etc. Vi utforsket noen enkle og nyttige eksempler for å lære å utføre generering av tilfeldig tall ved hjelp av Scipy Library of Python. Disse enkle eksemplene er veldig nyttige for å forstå hvordan Randint -funksjonen fungerer for generering av tilfeldig tall.