Menu
CoddyTech

Predecir con una línea

Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 38 de 64.

Una recta ajustada es una pequeña máquina de predicción: introduce un nuevo valor de x y obtén un valor de y. Se pesó a un cachorro desde la semana 8 hasta la semana 20:

weeks = np.array([8, 10, 12, 14, 16, 18, 20])
kg = np.array([3.1, 4.0, 5.2, 6.1, 7.0, 8.2, 9.1])
slope, intercept = np.polyfit(weeks, kg, 1)
new_weeks = np.array([15, 52])
print(np.round(slope * new_weeks + intercept, 1))

Esto imprime [ 6.6 25.2]. La semana 15 está dentro de los datos. La semana 52 no lo está, y la línea sigue subiendo mucho después de que el perro deja de crecer:

Siete pesajes desde la semana 8 hasta la 20 en una línea ajustada. La línea continúa con trazos en una zona sombreada marcada como fuera de los datos, y alcanza los 25.2 kg en la semana 52, mientras que la curva punteada de un perro real se nivela cerca de los 13 kg

Predecir fuera del rango de los datos es extrapolación y es arriesgado: solo se puede confiar en un modelo para entradas como aquellas de las que aprendió. Comprueba primero:

week = 52
print(week >= weeks.min() and week <= weeks.max())

Esto imprime False.

challenge icon

Desafío

Intermedio

Se midió una vela cada hora mientras se consumía, desde la hora 0 hasta la hora 6: hours y height en cm. El programa lee new_hours.

  1. Ajusta la recta que predice height a partir de hours.
  2. Imprime su predicción para new_hours, redondeada a 2 decimales.
  3. Imprime si new_hours está dentro del intervalo de horas de los datos, incluidos ambos extremos.

Para la entrada 4.5:

Predicted height: 13.07 cm
Inside the data: yes

Pruébalo tú mismo

import numpy as np

hours = np.array([0, 1, 2, 3, 4, 5, 6])
height = np.array([20.0, 18.4, 17.1, 15.3, 13.9, 12.2, 10.8])
new_hours = float(input())

# Escribe tu código a continuación
quiz iconPonte a prueba

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

Practica por tu cuenta: Compilador de Python online