Ajustar y predecir
Parte de la sección Aprendizaje supervisado del Journey de Machine Learning de Coddy. Lección 3 de 58.
Cada modelo de scikit-learn funciona con dos llamadas. fit estudia las filas de entrenamiento con sus etiquetas; predict etiqueta filas que el modelo nunca ha visto:
El modelo de la primera lección de este recorrido es k vecinos más cercanos: etiqueta una fila como las filas de entrenamiento más cercanas a ella. Mascotas según su peso (kg) y la longitud de sus orejas (cm):
from sklearn.neighbors import KNeighborsClassifier
X_train = np.array([[4, 6], [5, 7], [3, 5], [30, 10], [25, 12], [35, 11]])
y_train = np.array(["cat", "cat", "cat", "dog", "dog", "dog"])
model = KNeighborsClassifier()
model.fit(X_train, y_train)
print(model.predict([[6, 6], [28, 11]]))Esto imprime ['cat' 'dog']. Las filas nuevas se agregan como una tabla, una fila por mascota.
Crear, ajustar, predecir: todos los modelos de esta sección siguen estos tres pasos.
Desafío
FácilLa aplicación de un club de observación de aves identifica las aves por su envergadura y peso. El código inicial divide el archivo birds.csv del club y lee las aves de esta noche en la tabla spotted.
- Crea un modelo de k vecinos más cercanos y ajústalo con las aves de entrenamiento.
- Predice todas las aves avistadas en una sola llamada.
- Imprime una línea por ave, como se muestra a continuación.
Para tres aves en otra salida:
Bird 1: sparrow
Bird 2: blackbird
Bird 3: robinPruébalo tú mismo
import pandas as pd
from sklearn.model_selection import train_test_split
# Una fila por cada ave que el club ha identificado: envergadura en cm, peso en gramos
birds = pd.read_csv("birds.csv")
X = birds[["wingspan_cm", "weight_g"]]
y = birds["species"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
# Paseo de esta noche: cuántas aves se observaron y, después, la envergadura y el peso de cada una
count = int(input())
spans = []
weights = []
for i in range(count):
spans.append(float(input()))
weights.append(float(input()))
spotted = pd.DataFrame({"wingspan_cm": spans, "weight_g": weights})
# 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