Ajuste por mínimos cuadrados
Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 36 de 64.
Probar líneas podría llevar una eternidad. np.polyfit(x, y, 1) encuentra la mejor de una vez: la línea con la menor suma de residuos al cuadrado. Aquí está la profundidad de la nieve durante una tormenta:
hours = np.array([1, 2, 3, 5, 6])
depth = np.array([14, 22, 35, 52, 61])
slope, intercept = np.polyfit(hours, depth, 1)
print(np.round(slope, 2), np.round(intercept, 2))Esto imprime 9.5 4.5: unos 9.5 cm más de nieve por hora, y 4.5 cm en la hora 0. Ninguna otra línea se desvía menos:
El 1 solicita una línea recta, y x va primero. Esto es regresión lineal, el primer modelo que entrenas en la sección 3.
Desafío
IntermedioUn fabricante de drones quiere saber qué medida predice mejor el tiempo de vuelo. drones.csv contiene 15 vuelos: payload_g, wind_kmh y flight_min. El código inicial carga el archivo y define ssr(x, y, slope, intercept).
- Para cada columna de
columns, ajusta la recta que prediceflight_mina partir de ella. - Imprime su ecuación y SSR como se muestra a continuación: la pendiente con 3 decimales, el intercepto y SSR con 2.
- Imprime la columna con el SSR menor.
Para otro dron:
payload_g: flight_min = -0.001 * payload_g + 21.55, SSR 164.94
wind_kmh: flight_min = -0.481 * wind_kmh + 28.13, SSR 9.1
Better predictor: wind_kmhPruébalo tú mismo
import numpy as np
import pandas as pd
# Devuelve la suma de los residuos al cuadrado de la recta slope * x + intercept (lección 35)
def ssr(x, y, slope, intercept):
return ((y - (slope * x + intercept)) ** 2).sum()
drones = pd.read_csv("drones.csv")
columns = ["payload_g", "wind_kmh"]
# Escribe tu código a continuación
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Estadística para ML
1Centro y dispersión
Media y medianaPercentiles y cuartilesVarianza y desviación estándar¿Muestra o población?El valor más frecuenteRepaso: tiempos de entrega4Muestras y poblaciones
Población y muestraLas medias muestrales varíanLa distribución muestralMuestras más grandes, menos ruidoRepaso: Encuestar a un pueblo7Líneas de tendencia
ResiduosAjuste por mínimos cuadradosTrazar el ajustePredecir con una línea¿Qué tan bueno es el ajuste?Repaso: horas de práctica10Codificación de categorías
Categorías como númerosCodificación one-hotAgrupación de números en intervalosRepaso: anuncios de autos2Distribuciones
Histogramas de densidadFormas de los datosCurva normalRegla del 68-95-99,7Puntuaciones zRepaso: duración de la batería5Valores atípicos
Diagramas de cajaLa regla del RICLa regla del valor ZTratamiento de valores atípicosRepaso: fallos de los sensores3Probabilidad mediante simulación
La probabilidad como frecuenciaLa ley de los grandes númerosSuma de dadosValor esperadoProbabilidad condicionalRepaso: probabilidades del puesto de dados6Relaciones
Lectura de diagramas de dispersiónCorrelaciónMatriz de correlaciónMapas de calor de correlaciónCorrelación no es causalidadRepaso: helado y sol9Escalado de características
Por qué escalar las característicasEscalado mín-máxEstandarizaciónStandardScalerRepaso: compañeros de escaladaPractica por tu cuenta: Compilador de Python online