Prevendo números
Parte da seção Aprendizado supervisionado do Journey de Machine Learning da Coddy. Lição 11 de 58.
Os modelos deste capítulo fazem previsões numéricas. Ao final dele, um gráfico dos erros de um modelo revelará o que ele não percebeu:
Comece com uma linha que você conhece. LinearRegression aprende essa linha a partir de uma tabela X, com uma linha por amostra e uma coluna por característica:
from sklearn.linear_model import LinearRegression
area = np.array([60, 75, 90, 110, 130, 150]) # casas, em m²
price = np.array([215, 248, 290, 335, 385, 428]) # mil dólares
X = area.reshape(-1, 1) # 6 linhas, 1 coluna
model = LinearRegression()
model.fit(X, price)
print(np.round(model.coef_, 2), np.round(model.intercept_, 2))
print(np.round(np.polyfit(area, price, 1), 2))Isso imprime a mesma linha duas vezes:
[2.39] 71.59
[ 2.39 71.59]coef_ contém uma inclinação por característica: cada m² adicional acrescenta 2,39 mil dólares. intercept_ é o início da reta, em 0 m². Então, model.predict([[100]]) estima o preço de 100 m² em cerca de 310,85 mil.
Desafio
MédioUma gráfica nunca divulgou seus preços, mas você tem 10 trabalhos anteriores: pages e price em dólares. O programa lê o número de páginas de um novo trabalho.
- Ajuste uma
LinearRegressionusando as páginas, como uma tabela de uma coluna. - Imprima o preço por página (3 casas decimais) e a taxa de configuração, o intercepto (2 casas decimais).
- Imprima o preço previsto do novo trabalho (2 casas decimais).
Para outra gráfica e 120:
Per page: 0.095 dollars
Setup fee: 4.1 dollars
120 pages: 15.5 dollarsExperimente você mesmo
import numpy as np
from sklearn.linear_model import LinearRegression
# 10 trabalhos de impressão anteriores: páginas impressas e o valor pago, em dólares
pages = np.array([40, 75, 120, 160, 210, 260, 300, 380, 450, 520])
price = np.array([7.38, 12.6, 17.65, 20.69, 26.63, 32.18, 37.76, 46.4, 55.17, 60.89])
new_pages = 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 Aprendizado supervisionado
1Seu primeiro modelo
Aprendendo com exemplosConjuntos de treino e testeAjustar e preverAvaliar um modeloRecapitulação: classificador de sementes4Regressão logística
Previsões de sim ou nãoO limiar de decisãoPesos como evidênciasVárias classesRevisão: filtro de spam2Vizinhos Mais Próximos
Como o k-NN DecideEscolhendo kLimites de DecisãoEscalonamento para VizinhosRevisão: Vizinhos do Vinho5Avaliando Classificadores
A Matriz de ConfusãoPrecisão e RevocaçãoA Pontuação F1Classes DesbalanceadasCurvas ROCRecapitulação: Teste de Triagem8Validação Cruzada
Validação K-FoldComparando Modelos de Forma JustaBusca em GradeRevisão: Consertos de Skate11Projeto: Espécies de Pinguins
Conheça os PinguinsPrepare os DadosEscolha um ModeloAjuste o VencedorColoque o Modelo em Produção3Regressão Linear
Prevendo númerosVárias característicasMedindo errosGráficos de resíduosRevisão: aluguel de bicicletas6Árvores de Decisão
Árvores fazem perguntasLendo uma árvoreProfundidade da árvoreImportância das característicasRevisão: decisões de empréstimoPratique por conta própria: Compilador de Python online