La regola dello z-score
Fa parte della sezione Statistica per il machine learning del percorso Machine Learning di Coddy. Lezione 26 di 64.
Una fattoria ha pesato 300 uova, poi ne ha inserite due a mano: 6.2 g e 94.6 g, entrambe con errori di digitazione. I loro punteggi z (distanze dalla media, in deviazioni standard) le smascherano:
np.abs elimina i segni meno, quindi un solo confronto intercetta entrambi i lati:
rng = np.random.default_rng(3)
eggs = np.concatenate([rng.normal(60, 4, size=300), np.array([6.2, 94.6])])
z = (eggs - eggs.mean()) / eggs.std()
print(np.abs(np.array([-4, 2, -1])))
print(eggs[np.abs(z) > 3])Questo stampa:
[4 2 1]
[ 6.2 94.6]Nei dati a campana, il 99.7% dei valori si trova entro 3 std, quindi np.abs(z) > 3 segnala i valori rari da controllare prima dell'addestramento.
Ma un valore anomalo aumenta la deviazione standard calcolata includendolo, quindi nei campioni piccoli può passare inosservato: in questi casi usa la regola dell’IQR.
Sfida
MedioLa bilancia di una panetteria ha pesato 250 pagnotte in loaves e altre 3 sono state inserite a mano. Il programma legge una soglia.
- Calcola il punteggio z di ogni pagnotta usando
.mean()e.std()dell'array. - In ordine di posizione, stampa ogni pagnotta il cui punteggio z dista da 0 più della soglia: la sua posizione, il peso (1 cifra decimale) e il punteggio z (2 cifre decimali).
- Stampa quante ne hai elencate.
Per un altro giorno e con la soglia 3:
Loaf 200: 702.5 g, z = -5.38
Loaf 201: 889.3 g, z = 4.91
Loaves to re-weigh: 2Provalo tu
import numpy as np
# No cambies las líneas siguientes: 250 panes pesados con la báscula y luego 3 pesos introducidos a mano
rng = np.random.default_rng(25)
loaves = np.concatenate([rng.normal(800, 15, size=250), np.array([731.4, 868.9, 912.3])])
cutoff = float(input())
# Escribe tu código a continuación
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Statistica per il machine learning
1Centro e dispersione
Media e medianaPercentili e quartiliVarianza e deviazione standardCampione o popolazione?Il valore più frequenteRiepilogo: tempi di consegna4Campioni e popolazioni
Popolazione e campioneLe medie campionarie varianoDistribuzione campionariaCampioni più grandi, meno rumoreRiepilogo: sondare una città7Linee di tendenza
ResiduiAdattamento dei minimi quadratiTracciare la retta di adattamentoFare previsioni con una rettaQuanto è buono l’adattamento?Riepilogo: ore di pratica10Codifica delle categorie
Categorie come numeriCodifica one-hotRaggruppamento dei numeri in intervalliRiepilogo: annunci di auto2Distribuzioni
Istogrammi di densitàForme dei datiCurva normaleRegola 68-95-99,7Punteggi ZRiepilogo: durata della batteria5Valori anomali
Diagrammi a scatolaLa regola dell'IQRLa regola dello z-scoreGestire i valori anomaliRiepilogo: anomalie dei sensori3Probabilità tramite simulazione
La probabilità come frequenzaLa legge dei grandi numeriSomme dei dadiValore attesoProbabilità condizionataRiepilogo: probabilità al banco dei dadi6Relazioni
Leggere i grafici a dispersioneCorrelazioneMatrice di correlazioneMappe di calore della correlazioneCorrelazione non significa causalitàRiepilogo: gelato e soleEsercitati da solo: Compilatore Python online