Padronização
Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 49 de 64.
Muitos modelos aprendem melhor quando cada característica é centralizada em 0 e tem um desvio padrão de 1. A padronização faz isso: cada valor se torna sua pontuação z dentro da coluna.
Cinco abóboras, peso em kg e largura em cm:
A transmissão padroniza todas as colunas de uma só vez:
pumpkins = np.array([[30, 60],
[8, 30],
[22, 55],
[40, 65],
[15, 40]])
z = (pumpkins - pumpkins.mean(axis=0)) / pumpkins.std(axis=0)
print(np.round(z.mean(axis=0), 2))
print(np.round(z.std(axis=0), 2))Isso imprime:
[0. 0.]
[1. 1.]Arredonde antes de verificar: sem arredondamento, uma média de 0 pode ser exibida como 2.22044605e-17, um pequeno erro de arredondamento.
Ao contrário do min-max, não há um intervalo fixo: a maioria dos valores fica entre -2 e 2.
Desafio
MédioUma fazenda leiteira identifica vacas incomuns. Cada linha de cows representa uma vaca: leite (litros por dia), peso (kg) e idade (anos), nomeados em features. O programa lê a posição de uma vaca, k.
- Complete
standardize(X). As linhas de verificação então imprimem[0. 0. 0.]e[1. 1. 1.]. - Encontre o z-score da vaca
kmais distante de 0, ignorando o sinal, e imprima-o como abaixo, com 2 casas decimais.
Para uma vaca de outra fazenda:
Column means: [0. 0. 0.]
Column stds: [1. 1. 1.]
Cow 2 stands out by weight: 1.76 std above the herdExperimente você mesmo
import numpy as np
features = ["milk", "weight", "age"]
# Uma linha por vaca: leite em litros por dia, peso em kg, idade em anos
cows = np.array([[28, 610, 6],
[22, 540, 3],
[35, 680, 6],
[31, 590, 9],
[19, 650, 4],
[26, 520, 2],
[30, 600, 7]])
k = int(input())
# Retorna X com todas as colunas padronizadas: média 0 e desvio padrão 1
def standardize(X):
# Substitua a linha abaixo pela padronização
return X
# Não altere as três linhas abaixo: elas verificam sua função
z = standardize(cows)
print("Column means:", np.round(z.mean(axis=0), 2))
print("Column stds:", np.round(z.std(axis=0), 2))
# Escreva seu código abaixo: o que chama a atenção na vaca k
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