Menu
CoddyTech

Traçando o ajuste

Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 37 de 64.

Dois números descrevem um ajuste; só um gráfico mostra se ele acompanha os dados. Uma cozinha cronometrou seis fervuras de chaleira. Desenhe a reta no mesmo ax que o gráfico de dispersão:

liters = np.array([0.5, 0.8, 1.0, 1.2, 1.5, 1.7])
minutes = np.array([1.6, 2.4, 2.7, 3.3, 3.9, 4.5])
slope, intercept = np.polyfit(liters, minutes, 1)
xs = np.linspace(liters.min(), liters.max(), 50)
fig, ax = plt.subplots()
ax.scatter(liters, minutes, label="Boils")
ax.plot(xs, slope * xs + intercept, color="C1", label="Fit")
ax.legend()
plt.show()

xs vai do menor x ao maior, então a linha começa e termina onde os dados começam e terminam:

Seis fervuras de chaleira representadas por pontos, minutos para ferver em relação aos litros de água, subindo de 1.6 a 4.5 minutos, com uma linha ajustada laranja passando por eles de 0.5 a 1.7 litros

Desenhar as previsões de um modelo sobre seus dados é a maneira mais rápida de verificar se ele aprendeu algo sensato. Uma linha que não passa pelos pontos indica um ajuste inadequado.

challenge icon

Desafio

Médio

Um gerente de prédio cronometrava 12 viagens de elevador: os floors percorridos e os seconds gastos. O código inicial configura o gráfico com título e rótulos.

  1. Ajuste a linha que prevê seconds a partir de floors.
  2. Desenhe as viagens como um gráfico de dispersão com o rótulo Rides, e a linha com o rótulo Fit, do menor número de andares ao maior.
  3. Adicione uma legenda e exiba o gráfico.

Ele não imprime nada; o Coddy descreve seu gráfico. O de outro prédio é assim:

Um gráfico intitulado Elevator Rides: oito pontos ascendentes, de 14 segundos em 2 andares a 51 segundos em 20 andares, uma linha ajustada do andar do primeiro ponto ao do último e uma legenda identificando Rides e Fit

Experimente você mesmo

import numpy as np
import matplotlib.pyplot as plt

floors = np.array([3, 7, 1, 12, 5, 9, 15, 2, 10, 6, 13, 8])
seconds = np.array([15.3, 27.0, 12.4, 36.0, 19.5, 28.8, 44.9, 12.7, 33.2, 19.4, 41.7, 27.0])
# Não altere as linhas abaixo
fig, ax = plt.subplots()
ax.set_title("Elevator Rides")
ax.set_xlabel("Floors")
ax.set_ylabel("Seconds")

# Escreva seu código abaixo
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Compilador de Python online