Predicciones de sí o no
Parte de la sección Aprendizaje supervisado del Journey de Machine Learning de Coddy. Lección 16 de 58.
Este capítulo responde preguntas de sí o no con probabilidades. Termina con un filtro de spam que tú construyes y que clasifica los correos electrónicos así:
¿Se cancelará una reserva en un restaurante? LogisticRegression lo aprende a partir de 60 reservas anteriores: días de antelación con que se reservó y si se canceló (1) o se mantuvo (0):
from sklearn.linear_model import LogisticRegression
model = LogisticRegression(max_iter=1000) # pasos suficientes para completar el aprendizaje
model.fit(X, cancelled) # X: días de antelación, una columna
print(np.round(model.predict_proba([[3], [40]]), 2))Esto imprime:
[[0.91 0.09]
[0.28 0.72]]La fila de cada reserva contiene la probabilidad de la clase 0 y después la de la clase 1. [:, 1] conserva las probabilidades de la clase 1, una cancelación.
Siguen una S: nunca por debajo de 0 ni por encima de 1, como deben ser las probabilidades.
Desafío
IntermedioUn club de cometas reserva tres turnos de lanzamiento para mañana. kites.csv contiene 90 lanzamientos anteriores: wind_kmh y flew, 1 si la cometa llegó a volar. El programa lee el viento pronosticado para cada turno en slots.
- Ajusta una
LogisticRegression(max_iter=1000) a los vientos. - Imprime la probabilidad de vuelo de cada turno, en un porcentaje entero.
- Imprime los vuelos esperados: la suma de las probabilidades (1 decimal).
Para otro club:
6 km/h: 9% chance the kite flies
18 km/h: 64% chance the kite flies
30 km/h: 97% chance the kite flies
Expected flights: 1.7 of 3Pruébalo tú mismo
import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
# 90 lanzamientos anteriores: el viento en km/h y flew (1 si la cometa despegó)
kites = pd.read_csv("kites.csv")
# Las tres franjas de lanzamiento de mañana, según el viento previsto
winds = []
for i in range(3):
winds.append(int(input()))
slots = pd.DataFrame({"wind_kmh": winds})
# 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