Cómo decide k-NN
Parte de la sección Aprendizaje supervisado del Journey de Machine Learning de Coddy. Lección 6 de 58.
Este capítulo profundiza en k-NN. Al terminarlo, podrás trazar su mapa para cualquier conjunto de datos, como este de chiles suaves y picantes:
Para etiquetar un chile nuevo, k vecinos más cercanos encuentra los k chiles de entrenamiento más cercanos y votan:
Más cercano significa la distancia más pequeña, la que encontraste en la sección 2. Tú eliges k:
model = KNeighborsClassifier(n_neighbors=5)n_neighbors es k, 5 salvo que indiques lo contrario. Con dos clases, un valor impar de k nunca puede quedar en empate.
Desafío
FácilUn club de astronomía clasifica las estrellas de stars.csv en enanas y gigantes según su temperatura y magnitud. El código inicial lee una estrella nueva y k.
- Encuentra a mano las k estrellas más cercanas: añade una columna
distancey luego ordénalas. - Imprime cuántas de ellas son gigantes y, después, cuál es la ganadora de la votación.
- Compruébalo con un modelo k-NN de ese k, entrenado con todas las estrellas.
Para la estrella de otro club y k = 5:
Giants among the nearest 5: 4
By hand: giant
Model: giantPruébalo tú mismo
import numpy as np
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier
# Una fila por estrella: temperatura en miles de kelvin, magnitud (cuanto menor, más brillante), enana o gigante
stars = pd.read_csv("stars.csv")
X = stars[["temp_kK", "magnitude"]]
y = stars["type"]
# La nueva estrella y k
temp = float(input())
mag = float(input())
k = int(input())
new_star = pd.DataFrame({"temp_kK": [temp], "magnitude": [mag]})
# 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