Por que escalar os recursos
Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 47 de 64.
Qual cliente mais se parece com um novo? Muitos modelos medem a distância entre amostras: elevam ao quadrado a diferença de cada característica, somam tudo e extraem a raiz quadrada.
Uma pessoa de 25 anos que ganha $52,000 em comparação com uma pessoa de 61 anos que ganha $53,000:
Para uma tabela inteira, axis=1 soma os quadrados de cada linha e .argmin() encontra a linha mais próxima:
a = np.array([25, 52000]) # idade, renda
X = np.array([[61, 53000], # a pessoa de 61 anos
[26, 55000]]) # uma pessoa de 26 anos que ganha $55,000
dists = np.sqrt(((X - a) ** 2).sum(axis=1))
print(np.round(dists, 2))
print(dists.argmin())Isso imprime:
[1000.65 3000. ]
0A pessoa de 61 anos é a mais próxima: os dólares vêm em números maiores, então US$ 1.000 superam 36 anos. Sem normalização, as unidades maiores determinam o resultado.
Este capítulo dá a cada recurso a oportunidade de se expressar.
Desafio
MédioUma loja compara máquinas de lavar pelo preço ($), consumo de energia (kWh por ano) e consumo de água (litros por lavagem), chamados features. O programa lê as posições de duas máquinas, i e j. Imprima:
Squared gaps:a diferença de cada característica, elevada ao quadrado.Distance:arredondada para 2 casas decimais.Dominant feature:o nome da característica com a maior diferença elevada ao quadrado.
Para outras duas máquinas:
Squared gaps: [2500 6400 1]
Distance: 94.35
Dominant feature: energyExperimente você mesmo
import numpy as np
features = ["price", "energy", "water"]
# Uma linha por máquina de lavar: preço em dólares, energia em kWh por ano, água em litros por lavagem
machines = np.array([[499, 160, 48],
[349, 210, 55],
[899, 120, 42],
[529, 250, 50],
[279, 230, 60],
[749, 140, 45]])
i = int(input())
j = int(input())
# Escreva seu código abaixo
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