Fazendo previsões com uma linha
Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 38 de 64.
Uma reta ajustada é uma pequena máquina de previsão: insira um novo x e obtenha um y. Um filhote de cachorro foi pesado da semana 8 à semana 20:
weeks = np.array([8, 10, 12, 14, 16, 18, 20])
kg = np.array([3.1, 4.0, 5.2, 6.1, 7.0, 8.2, 9.1])
slope, intercept = np.polyfit(weeks, kg, 1)
new_weeks = np.array([15, 52])
print(np.round(slope * new_weeks + intercept, 1))Isso imprime [ 6.6 25.2]. A semana 15 está dentro dos dados. A semana 52 não está, e a linha continua subindo muito depois que o cachorro para de crescer:
Prever fora do intervalo dos dados é extrapolação e é arriscado: um modelo é confiável apenas para entradas semelhantes às que usou para aprender. Confira primeiro:
week = 52
print(week >= weeks.min() and week <= weeks.max())Isso imprime False.
Desafio
MédioUma vela foi medida a cada hora enquanto queimava, da hora 0 à hora 6: hours e height em cm. O programa lê new_hours.
- Ajuste a reta que prevê
heighta partir dehours. - Imprima a previsão para
new_hours, arredondada para 2 casas decimais. - Imprima se
new_hoursestá dentro do intervalo de horas dos dados, incluindo as duas extremidades.
Para a entrada 4.5:
Predicted height: 13.07 cm
Inside the data: yesExperimente você mesmo
import numpy as np
hours = np.array([0, 1, 2, 3, 4, 5, 6])
height = np.array([20.0, 18.4, 17.1, 15.3, 13.9, 12.2, 10.8])
new_hours = float(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