Menu
CoddyTech

A regra do Z-score

Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 26 de 64.

Uma fazenda pesou 300 ovos e depois digitou dois à mão: 6.2 g e 94.6 g, ambos erros de digitação. Seus escores z (distâncias em relação à média, em desvios padrão) os denunciam:

Um histograma dos pesos de 300 ovos como escores z, todos entre -3 e 3 dentro de uma faixa sombreada marcada como dentro de 3 desvios padrão. Dois pontos vermelhos ficam bem fora dela: 6.2 g em z = -9.9 e 94.6 g em z = 6.3

np.abs remove os sinais de menos, então uma comparação detecta os dois lados:

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])

Isso imprime:

[4 2 1]
[ 6.2 94.6]

Em dados com formato de sino, 99,7% dos valores estão dentro de 3 desvios padrão, então np.abs(z) > 3 sinaliza os valores raros que devem ser verificados antes do treinamento.

Mas um valor atípico aumenta o desvio padrão usado para medi-lo, então amostras pequenas o ocultam: use a regra do IQR nesse caso.

challenge icon

Desafio

Médio

A balança de uma padaria pesou 250 pães em loaves, e mais 3 foram digitados manualmente. O programa lê um limite.

  1. Calcule o z-score de cada pão usando .mean() e .std() do array.
  2. Na ordem das posições, imprima cada pão cujo z-score esteja a uma distância de 0 maior que o limite: sua posição, peso (1 casa decimal) e z-score (2 casas decimais).
  3. Imprima quantos você listou.

Para outro dia e o limite 3:

Loaf 200: 702.5 g, z = -5.38
Loaf 201: 889.3 g, z = 4.91
Loaves to re-weigh: 2

Experimente você mesmo

import numpy as np

# Não altere as linhas abaixo: 250 pães pesados pela balança, seguidos de 3 pesos digitados manualmente
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())

# Escreva seu código abaixo
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Estatística para ML

Pratique por conta própria: Compilador de Python online