Variância e desvio padrão
Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 3 de 64.
.std() é a distância típica em relação à média. Aqui ela é calculada manualmente, para cinco doses de espresso:
Cada diferença em relação à média é um desvio. Elas se cancelam e resultam em 0, então eleve-as ao quadrado e depois calcule a média: a variância.
shots = np.array([24, 27, 25, 30, 24])
deviations = shots - shots.mean()
variance = (deviations ** 2).mean()
print(deviations)
print(variance, np.round(np.sqrt(variance), 2))Isso imprime:
[-2. 1. -1. 4. -2.]
5.2 2.28Sua raiz quadrada, o desvio padrão, transforma segundos ao quadrado novamente em segundos: 2.28. np.var(a) e np.std(a) fazem cada um isso em uma chamada.
Uma característica com desvio padrão igual a 0 nunca muda, então não informa nada ao modelo.
Desafio
FácilO controle de qualidade verifica com que uniformidade uma máquina enche garrafas de suco. O código inicial lê seis volumes em ml e imprime o que spread_by_hand(a) retorna, ao lado de np.std. Complete essa função para que ela retorne:
- a variância: a média dos desvios quadráticos em relação à média de
a, - o desvio padrão, sua raiz quadrada.
Para os volumes 1004, 996, 1011, 993, 1002 e 998:
Variance: 34.56 ml squared
Std: 5.88 ml
Same as np.std: TrueExperimente você mesmo
import numpy as np
values = []
for i in range(6):
values.append(int(input()))
volumes = np.array(values)
# Retorna a variância e o desvio padrão do array a
def spread_by_hand(a):
# Escreva seu código aqui e, em seguida, retorne os dois valores no lugar de 0, 0
return 0, 0
# Não altere as linhas abaixo
variance, std = spread_by_hand(volumes)
print(f"Variance: {np.round(variance, 2)} ml squared")
print(f"Std: {np.round(std, 2)} ml")
print("Same as np.std:", np.round(std, 2) == np.round(np.std(volumes), 2))
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
1Centro e dispersão
Média e medianaPercentis e quartisVariância e desvio padrãoAmostra ou população?O valor mais frequenteRevisão: tempos de entrega4Amostras e Populações
População e AmostraAs médias amostrais variamA distribuição amostralAmostras maiores, menos ruídoRevisão: pesquisa de opinião em uma cidade7Linhas de tendência
ResíduosAjuste por mínimos quadradosTraçando o ajusteFazendo previsões com uma linhaQuão bom é o ajuste?Revisão: horas de prática10Codificação de Categorias
Categorias como NúmerosCodificação One-HotAgrupamento de Números em FaixasRecapitulação: Anúncios de Carros2Distribuições
Histogramas de densidadeFormatos dos dadosA curva normalA regra 68-95-99,7Escores ZRecapitulando: duração da bateria5Valores atípicos
Diagramas de caixaA regra do IQRA regra do Z-scoreComo lidar com valores atípicosRevisão: falhas nos sensores8Comparando grupos
Gráficos de caixa por grupoDiferença entre médiasPode ser acaso?Valores-pO teste tRevisão: teste A/B11Explorando um conjunto de dados
Um primeiro olharTodos os atributos de uma vezAtributos em relação ao rótuloOs dois melhores atributosRevisão: dados de diabetes3Probabilidade por Simulação
Probabilidade como frequênciaA Lei dos Grandes NúmerosSomas de dadosValor esperadoProbabilidade condicionalRevisão: chances na barraca de dados6Relações
Lendo gráficos de dispersãoCorrelaçãoMatriz de correlaçãoMapas de calor de correlaçãoCorrelação não é causalidadeRevisão: sorvete e sol9Escalonamento de Recursos
Por que escalar os recursosEscalonamento Min-MaxPadronizaçãoStandardScalerRevisão: Parceiros de escaladaPratique por conta própria: Compilador de Python online