Tilastolliset Operaatiot
Erilaisten tilastollisten operaatioiden suorittaminen taulukoilla on olennaista data-analyysissä ja koneoppimisessa. NumPy tarjoaa funktioita ja menetelmiä niiden tehokkaaseen suorittamiseen.
Keskiluvut
Keskiluvut edustavat keskeistä tai edustavaa arvoa todennäköisyysjakaumassa. Useimmiten kuitenkin lasket nämä luvut tietylle otokselle.
Tässä ovat kaksi pääasiallista keskilukua:
Keskiarvo: kaikkien arvojen summa jaettuna arvojen kokonaismäärällä;
Mediaani: Keskimmäinen arvo järjestetyssä otoksessa.
NumPy tarjoaa mean()
ja median()
funktiot keskiarvon ja mediaanin laskemiseen:
import numpy as np sample = np.array([10, 25, 15, 30, 20, 10, 2]) # Calculating the mean sample_mean = np.mean(sample) print(f'Sorted sample: {np.sort(sample)}') # Calculating the median sample_median = np.median(sample) print(f'Mean: {sample_mean}, median: {sample_median}')
Näytimme myös lajitellun otoksen, jotta voit selvästi nähdä mediaanin. Otoksessamme on pariton määrä alkioita (7), joten mediaani on yksinkertaisesti alkio indeksissä (n + 1) / 2
lajitellussa otoksessa, missä n
on otoksen koko.
Huomautus
Kun otoksessa on parillinen määrä alkioita, mediaani on keskiarvo alkioista indekseissä
n / 2
jan / 2 - 1
lajitellussa otoksessa.
import numpy as np sample = np.array([1, 2, 8, 10, 15, 20, 25, 30]) sample_median = np.median(sample) print(f'Median: {sample_median}')
Otoksemme on jo lajiteltu ja siinä on 8 alkiota, joten n / 2 - 1 = 3
ja sample[3]
on 10. n / 2 = 4
ja sample[4]
on 15. Siksi mediaanimme on (10 + 15) / 2 = 12.5
.
Hajonnan mittarit
Kaksi hajonnan mittaria ovat varianssi ja keskihajonta. Varianssi mittaa, kuinka hajallaan data on. Se on yhtä suuri kuin keskiarvo kunkin arvon neliöllisistä eroista keskiarvosta.
Keskihajonta on varianssin neliöjuuri. Se antaa mittarin siitä, kuinka hajallaan data on samoissa yksiköissä kuin data.
NumPy:lla on var()
-funktio, jolla lasketaan otoksen varianssi, ja std()
-funktio, jolla lasketaan otoksen keskihajonta:
import numpy as np sample = np.array([10, 25, 15, 30, 20, 10, 2]) # Calculating the variance sample_variance = np.var(sample) # Calculating the standard deviation sample_std = np.std(sample) print(f'Variance: {sample_variance}, standard deviation: {sample_std}')
Laskelmat korkeamman ulottuvuuden taulukoissa
Kaikilla näillä funktioilla on toinen parametri axis
. Sen oletusarvo on None
, mikä tarkoittaa, että mittari lasketaan litistetyn taulukon mukaan (vaikka alkuperäinen taulukko olisi 2D tai korkeampi ulottuvuus).
Voit myös määrittää tarkan akselin, jonka mukaan mittari lasketaan:
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Calculating the mean in a flattened array print(np.mean(array_2d)) # Calculating the mean along axis 0 print(np.mean(array_2d, axis=0)) # Calculating the mean along axis 1 print(np.mean(array_2d, axis=1))
Alla oleva kuva näyttää tehtävässä käytetyn exam_scores
taulukon rakenteen:
Swipe to start coding
Analysoit exam_scores
-taulukkoa, joka on 2D-taulukko simuloiduista testituloksista 2 opiskelijalle (2 riviä) 5 eri kokeessa (5 saraketta).
-
Laske keskimääräinen pistemäärä jokaiselle opiskelijalle määrittämällä toinen avainsana-argumentti.
-
Laske kaikkien pisteiden mediaani.
-
Laske kaikkien pisteiden varianssi.
-
Laske kaikkien pisteiden keskihajonta.
Ratkaisu
Kiitos palautteestasi!