Trazar el ajuste
Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 37 de 64.
Dos números describen un ajuste; solo un gráfico muestra si sigue los datos. En una cocina se cronometraron seis hervidas de agua en una tetera. Dibuja la línea en el mismo ax que el diagrama de dispersión:
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 va desde la x más pequeña hasta la más grande, así que la línea empieza y termina donde lo hacen los datos:
Dibujar las predicciones de un modelo sobre sus datos es la forma más rápida de comprobar que aprendió algo razonable. Una línea que no pasa por los puntos indica un ajuste defectuoso.
Desafío
IntermedioUn administrador de un edificio cronometró 12 viajes en ascensor: los floors recorridos y los seconds que tardaron. El código inicial configura el gráfico con título y etiquetas.
- Ajusta la línea que predice
secondsa partir defloors. - Dibuja los viajes como un diagrama de dispersión con la etiqueta
Ridesy la línea con la etiquetaFit, desde el menor número de pisos hasta el mayor. - Añade una leyenda y muestra el gráfico.
No imprime nada; Coddy describe tu gráfico. El de otro edificio se ve así:
Pruébalo tú mismo
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])
# No cambies las líneas de abajo
fig, ax = plt.subplots()
ax.set_title("Elevator Rides")
ax.set_xlabel("Floors")
ax.set_ylabel("Seconds")
# Escribe tu código abajo
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