Trilha machine learning: Algoritmo KNN
O KNN (K-Nearest Neighbors, ou K-vizinhos mais próximos) é um algoritmo de aprendizado supervisionado utilizado para classificação e regressão, ele se baseia na ideia de que instâncias semelhantes tendem a ter rótulos semelhantes.
Para classificação, dado um ponto de consulta, o KNN encontra os k pontos de treinamento mais próximos a esse ponto (com base em alguma métrica de distância, como a euclidiana) e determina a classe mais comum entre eles. Já no caso da regressão, o KNN calcula a média dos valores alvo dos k vizinhos mais próximos para prever o valor para o ponto de consulta.
As vantagens desse método são a simplicidade de implementação, não requer treinamento explícito, e é eficiente para conjuntos de dados pequenos, mas em contrapartida, é sensível a outliers e pode ser computacionalmente custoso para conjuntos de dados grandes.
Podemos usá-los para identificar se um e-mail é spam ou não com base em características como palavras-chave ou prever o preço de uma casa com base nas características de casas semelhantes na vizinhança.
A escolha adequada do valor de k é crucial e depende do problema específico. O KNN assume que os dados são distribuídos de maneira homogênea no espaço de características. Normalização de características pode ser necessária para evitar que características com escalas diferentes dominem a distância.
Vamos aplicar!
- Importamos as bibliotecas necessárias, incluindo NumPy para manipulação numérica, Matplotlib para plotagem de gráficos e as ferramentas relacionadas ao k-NN do scikit-learn.
- Carregamos o conjunto de dados Iris, que já é um conjunto de dados conhecido por aqui, mas para lembrar ele contém características de três espécies de íris (setosa, versicolor e virginica).
- Dividimos os dados em conjuntos de treinamento e teste.
- Criamos um classificador k-NN com `n_neighbors=3` (3 vizinhos mais próximos) e o treina com os dados de treinamento.
- Utilizamos o modelo treinado para fazer previsões no conjunto de teste e avalia a precisão do modelo.
- E por fim, criamos uma grade de pontos para visualizar as regiões de decisão do classificador, a plotagem inclui as regiões de decisão coloridas e os pontos de treinamento/teste com diferentes marcadores.
Comentários
Postar um comentário