Menu
CoddyTech

Resíduos

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

Este capítulo traça uma linha de tendência pelos dados, faz previsões com ela e a avalia. Veja aonde isso leva:

Cinco trabalhos de jardinagem representados por pontos, minutos em função da área do gramado, com uma linha de tendência laranja passando por eles e uma grande estrela verde na linha prevendo 50 minutos para um novo gramado de 10

Quão boa é uma linha? Um serviço de jardinagem estima 4.5 * area + 5 minutos por trabalho. Cada intervalo vermelho é um resíduo: valor real menos valor previsto.

Os cinco trabalhos de jardinagem e a linha estimada, com um intervalo vertical vermelho de cada ponto até a linha, identificado como +6, -5, +3.5, -7 e +3.5

Eleve-os ao quadrado e some-os para avaliar a reta:

area = np.array([4, 6, 9, 12, 15])
minutes = np.array([29, 27, 49, 52, 76])
residuals = minutes - (4.5 * area + 5)
print(residuals)
print((residuals ** 2).sum())

Isso imprime:

[ 6.  -5.   3.5 -7.   3.5]
134.5

Os quadrados impedem que +6 e -6 se anulem. Quanto menor essa soma dos resíduos ao quadrado, melhor a linha. Um modelo aprende reduzindo-a.

challenge icon

Desafio

Médio

Uma empresa de mudanças estima quanto tempo uma mudança leva com base no número de caixas. boxes e hours armazenam oito mudanças anteriores, e o programa lê duas retas estimadas: slope1, intercept1, depois slope2, intercept2.

  1. Avalie cada reta pela soma dos resíduos ao quadrado.
  2. Imprima ambas as somas, arredondadas para 2 casas decimais, e a melhor reta, como abaixo.

Para as retas 0.16 * boxes + 0.8 e 0.12 * boxes + 2.5:

Line 1 SSR: 0.57
Line 2 SSR: 4.1
Better: line 1

Experimente você mesmo

import numpy as np

boxes = np.array([10, 18, 25, 32, 40, 47, 55, 60])
hours = np.array([2.5, 3.5, 5.0, 5.5, 7.0, 8.0, 9.5, 10.0])
slope1 = float(input())
intercept1 = float(input())
slope2 = float(input())
intercept2 = float(input())

# 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