Como o k-NN Decide
Parte da seção Aprendizado supervisionado do Journey de Machine Learning da Coddy. Lição 6 de 58.
Este capítulo explica o k-NN. Ao final, você será capaz de desenhar seu mapa para quaisquer dados, como este para pimentas suaves e ardidas:
Para classificar uma nova pimenta, k-vizinhos mais próximos encontra as k pimentas de treinamento mais próximas dela, e elas votam:
Mais próximo significa a menor distância, aquela que você conheceu na seção 2. Você escolhe k:
model = KNeighborsClassifier(n_neighbors=5)n_neighbors é k, 5, a menos que você diga o contrário. Com duas classes, um k ímpar nunca pode resultar em empate.
Desafio
FácilUm clube de astronomia classifica as estrelas em stars.csv como anãs ou gigantes, com base na temperatura e na magnitude. O código inicial lê uma nova estrela e k.
- Encontre manualmente as k estrelas mais próximas: adicione uma coluna
distancee, em seguida, ordene. - Imprima quantas delas são gigantes e, depois, a vencedora da votação.
- Confira com um modelo k-NN desse k, treinado com todas as estrelas.
Para a estrela e o k de outro clube, com k = 5:
Giants among the nearest 5: 4
By hand: giant
Model: giantExperimente você mesmo
import numpy as np
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier
# Uma linha por estrela: temperatura em milhares de kelvin, magnitude (quanto menor, mais brilhante), anã ou gigante
stars = pd.read_csv("stars.csv")
X = stars[["temp_kK", "magnitude"]]
y = stars["type"]
# A nova estrela e k
temp = float(input())
mag = float(input())
k = int(input())
new_star = pd.DataFrame({"temp_kK": [temp], "magnitude": [mag]})
# Escreva seu código abaixo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Aprendizado supervisionado
1Seu primeiro modelo
Aprendendo com exemplosConjuntos de treino e testeAjustar e preverAvaliar um modeloRecapitulação: classificador de sementes4Regressão logística
Previsões de sim ou nãoO limiar de decisãoPesos como evidênciasVárias classesRevisão: filtro de spam2Vizinhos Mais Próximos
Como o k-NN DecideEscolhendo kLimites de DecisãoEscalonamento para VizinhosRevisão: Vizinhos do Vinho5Avaliando Classificadores
A Matriz de ConfusãoPrecisão e RevocaçãoA Pontuação F1Classes DesbalanceadasCurvas ROCRecapitulação: Teste de Triagem8Validação Cruzada
Validação K-FoldComparando Modelos de Forma JustaBusca em GradeRevisão: Consertos de Skate11Projeto: Espécies de Pinguins
Conheça os PinguinsPrepare os DadosEscolha um ModeloAjuste o VencedorColoque o Modelo em Produção3Regressão Linear
Prevendo númerosVárias característicasMedindo errosGráficos de resíduosRevisão: aluguel de bicicletas6Árvores de Decisão
Árvores fazem perguntasLendo uma árvoreProfundidade da árvoreImportância das característicasRevisão: decisões de empréstimoPratique por conta própria: Compilador de Python online