Predicción de números
Parte de la sección Aprendizaje supervisado del Journey de Machine Learning de Coddy. Lección 11 de 58.
Los modelos de este capítulo predicen números. Al terminarlo, un gráfico de los errores de un modelo dejará al descubierto lo que pasó por alto:
Empieza con una línea que conozcas. LinearRegression la aprende a partir de una tabla X, con una fila por muestra y una columna por característica:
from sklearn.linear_model import LinearRegression
area = np.array([60, 75, 90, 110, 130, 150]) # casas, en m²
price = np.array([215, 248, 290, 335, 385, 428]) # miles de dólares
X = area.reshape(-1, 1) # 6 filas, 1 columna
model = LinearRegression()
model.fit(X, price)
print(np.round(model.coef_, 2), np.round(model.intercept_, 2))
print(np.round(np.polyfit(area, price, 1), 2))Esto imprime la misma línea dos veces:
[2.39] 71.59
[ 2.39 71.59]coef_ contiene una pendiente por característica: cada m² adicional suma 2.39 miles de dólares. intercept_ es el inicio de la recta, en 0 m². Después, model.predict([[100]]) calcula un precio de unos 310.85 miles para 100 m².
Desafío
IntermedioUna imprenta nunca publicó sus precios, pero tienes 10 trabajos anteriores: pages y price en dólares. El programa lee las páginas de un trabajo nuevo.
- Ajusta un
LinearRegressioncon las páginas, como una tabla de una columna. - Imprime el precio por página (3 decimales) y la tarifa de preparación, el intercepto (2 decimales).
- Imprime el precio predicho del trabajo nuevo (2 decimales).
Para otra imprenta y 120:
Per page: 0.095 dollars
Setup fee: 4.1 dollars
120 pages: 15.5 dollarsPruébalo tú mismo
import numpy as np
from sklearn.linear_model import LinearRegression
# 10 trabajos de impresión anteriores: páginas impresas y precio pagado, en dólares
pages = np.array([40, 75, 120, 160, 210, 260, 300, 380, 450, 520])
price = np.array([7.38, 12.6, 17.65, 20.69, 26.63, 32.18, 37.76, 46.4, 55.17, 60.89])
new_pages = int(input())
# 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 Aprendizaje supervisado
1Tu primer modelo
Aprender de ejemplosConjuntos de entrenamiento y pruebaAjustar y predecirEvaluar un modeloRepaso: clasificador de semillas4Regresión logística
Predicciones de sí o noEl umbral de decisiónLos pesos como evidenciaVarias clasesRepaso: filtro de spam2Vecinos más cercanos
Cómo decide k-NNCómo elegir kFronteras de decisiónEscalado para los vecinosRepaso: vecinos del vino5Medición de clasificadores
La matriz de confusiónPrecisión y exhaustividadLa puntuación F1Clases desequilibradasCurvas ROCRepaso: prueba de detección8Validación cruzada
Validación K-FoldComparación justa de modelosBúsqueda en cuadrículaRepaso: reparaciones de monopatines11Proyecto: especies de pingüinos
Conoce a los pingüinosPrepara los datosElige un modeloAjusta el modelo ganadorPublica el modelo3Regresión lineal
Predicción de númerosVarias característicasMedición de erroresGráficos de residuosRepaso: alquiler de bicicletas6Árboles de decisión
Los árboles hacen preguntasLeer un árbolProfundidad del árbolImportancia de las característicasRepaso: decisiones de préstamosPractica por tu cuenta: Compilador de Python online