Menu
CoddyTech

Evaluar un modelo

Parte de la sección Aprendizaje supervisado del Journey de Machine Learning de Coddy. Lección 4 de 58.

¿Es bueno un modelo? Lo indica su precisión, la proporción de filas de prueba que acierta. Compáralo con una conjetura perezosa:

Dos barras de precisión en 50 préstamos de prueba: adivinar siempre que se pagará a tiempo obtiene 0.78, el modelo k-NN obtiene 0.88

El 78% de los préstamos de esta biblioteca se devolvieron a tiempo, así que responder «a tiempo» en todos los casos obtiene una puntuación de 0.78. Esa es la línea de base.

from sklearn.metrics import accuracy_score

pred = model.predict(X_test)
print(accuracy_score(y_test, pred))
print(model.score(X_test, y_test))
common = y_train.value_counts().index[0]
print((y_test == common).mean())

Esto imprime 0.88, 0.88, 0.78. score predice y cuenta en una sola llamada; la línea base siempre responde con la etiqueta de entrenamiento más común.

Un modelo se gana su lugar solo si supera la línea base.

challenge icon

Desafío

Fácil

Los sensores de una apicultora vigilan 160 colmenas en hives.csv; swarm indica si cada colmena formó un enjambre. ¿Puede un sensor avisarle? El código inicial lee el nombre de un sensor y ajusta un modelo usando solo ese sensor.

  1. Muestra su precisión de prueba, redondeada a 3 decimales.
  2. Muestra la línea base e indica la etiqueta que siempre responde.
  3. Muestra si el modelo la supera.

Para otro apiario y weight_change_kg:

Model on weight_change_kg: 0.775
Always "no": 0.7
Beats the baseline: yes

Pruébalo tú mismo

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

# Una fila por colmena: sus sensores y si produjo un enjambre
hives = pd.read_csv("hives.csv")
sensor = input()
X = hives[[sensor]]
y = hives["swarm"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
model = KNeighborsClassifier()
model.fit(X_train, y_train)

# 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 Aprendizaje supervisado

Practica por tu cuenta: Compilador de Python online