Gráficos de resíduos
Parte da seção Aprendizado supervisionado do Journey de Machine Learning da Coddy. Lição 14 de 58.
Uma boa pontuação pode esconder uma forma inadequada. Esta linha obtém R quadrado de 0.82 para uma massa que cresce, mas seus erros formam um arco:
Aquele gráfico à direita é um gráfico de resíduos: cada resíduo, valor real menos previsto, em relação à sua previsão, com uma linha em 0:
residuals = y_test - pred
fig, ax = plt.subplots()
ax.scatter(pred, residuals)
ax.axhline(0, color="gray", linestyle="--")
plt.show()Resíduos saudáveis se espalham como ruído em torno de 0. Um padrão significa que o modelo não captou algo: neste caso, que a subida desacelera.
Com vários recursos, plote os resíduos em relação a cada recurso também: aquele que forma um arco esconde a curva.
Desafio
MédioUma autoescola ajustou uma reta a 80 testes de frenagem: speed_kmh e braking_m. O código inicial mantém as previsões dos testes em pred e rotula o gráfico.
- Calcule os resíduos.
- Faça um gráfico de dispersão dos resíduos em relação às previsões sobre uma linha cinza tracejada em 0 e, em seguida, exiba-o.
A reta não consegue acompanhar uma curva? À esquerda, ela até prevê uma distância de frenagem negativa.
O gráfico de uma reta adequada, com outros dados, se parece com isto:
Coddy descreve seu gráfico.
Experimente você mesmo
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
brakes = pd.read_csv("braking.csv")
X_train, X_test, y_train, y_test = train_test_split(brakes[["speed_kmh"]], brakes["braking_m"], test_size=0.25, random_state=0)
model = LinearRegression()
model.fit(X_train, y_train)
pred = model.predict(X_test)
fig, ax = plt.subplots()
ax.set_title("Braking Line Check")
ax.set_xlabel("Predicted braking distance (m)")
ax.set_ylabel("Residual (m)")
# 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