Varias características
Parte de la sección Aprendizaje supervisado del Journey de Machine Learning de Coddy. Lección 12 de 58.
El precio de una casa depende de algo más que su tamaño: un largo trayecto a pie hasta la estación lo reduce. Al aprender de ambos factores, un modelo traza líneas paralelas:
En el código, X obtiene ambas columnas y coef_ un peso por característica:
X = houses[["area_m2", "minutes_walk"]]
model = LinearRegression()
model.fit(X, houses["price"])
print(np.round(model.coef_, 1))Esto imprime:
[ 2.6 -5.1]Los pesos siguen las columnas de X. Cada m² adicional suma 2.6 mil dólares; cada minuto adicional de caminata resta 5.1 mil, manteniendo constante la otra característica.
La unidad de un peso es la cantidad objetivo por unidad de su característica: miles por m², por minuto.
Desafío
IntermedioUn servicio de catering calcula el precio de los eventos nuevos a partir de 40 eventos anteriores en events.csv: guests, courses, months_ahead (con cuánta antelación se reservó) y cost en dólares. El código inicial lee un evento nuevo en new_event.
- Ajusta una
LinearRegressiondel costo en función de lasfeatures. - Para cada característica, imprime cuánto añade o descuenta una unidad más (2 decimales).
- Imprime el presupuesto del evento nuevo (2 decimales).
Para otro servicio de catering:
Each extra guest adds 41.5 dollars
Each extra course adds 198.25 dollars
Each extra month booked ahead takes off 22.8 dollars
Quote: 4312.6 dollarsPruébalo tú mismo
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
# Una fila por cada evento anterior: invitados, platos, meses de antelación de la reserva, costo en dólares
events = pd.read_csv("events.csv")
features = ["guests", "courses", "months_ahead"]
units = ["guest", "course", "month booked ahead"]
# El nuevo evento, como una tabla de una fila
guests = int(input())
courses = int(input())
months = int(input())
new_event = pd.DataFrame({"guests": [guests], "courses": [courses], "months_ahead": [months]})
# 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