Compartilhamento de tecnologia

Explorando o segredo da proximidade: aplicação do algoritmo K-vizinho mais próximo (KNN) no SKlearn

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Explorando o segredo da proximidade: aplicação do algoritmo K-vizinho mais próximo (KNN) no SKlearn

No mundo do aprendizado de máquina, o algoritmo K-Nearest Neighbors (KNN) é conhecido por sua simplicidade e intuitividade. KNN é um método básico de classificação e regressão e seu princípio de funcionamento é muito fácil de entender: prever a qual categoria ou valor um novo ponto de dados pertence medindo a distância entre diferentes valores de recursos. Scikit-learn (abreviadamente sklearn), como uma biblioteca de aprendizado de máquina amplamente usada em Python, fornece a implementação do algoritmo KNN. Este artigo apresentará em detalhes como usar o algoritmo KNN no sklearn e fornecerá exemplos práticos de código.

1. Princípios básicos do algoritmo K-vizinho mais próximo

A ideia central do algoritmo K-vizinho mais próximo é: se a maioria dos K ​​vizinhos mais próximos de uma amostra no espaço de características pertencem a uma determinada categoria, então a amostra provavelmente também pertencerá a esta categoria.

2. Elementos-chave do algoritmo K-vizinho mais próximo
  • Seleção do valor K: A escolha de K tem um impacto importante no desempenho do modelo.
  • medida de distância: Diferentes métodos de medição de distância podem ser usados ​​no algoritmo KNN, como distância euclidiana, distância de Manhattan, etc.
  • função peso: Os vizinhos podem receber pesos diferentes, como ponderação recíproca com base na distância.
3. Classificação usando KNN no sklearn

Aqui estão as etapas básicas para classificação KNN usando sklearn:

3.1 Importar classificador KNN
from sklearn.neighbors import KNeighborsClassifier
  • 1
3.2 Preparar dados

Suponha que você já tenha um conjunto de dados comXé a matriz característica,yé a variável de destino.

from sklearn.datasets import load_iris
X, y = load_iris(return_X_y=True)
  • 1
  • 2
3.3 Criar instância do classificador KNN
knn = KNeighborsClassifier(n_neighbors=3)
  • 1
3.4 Modelo de treinamento

Use o conjunto de dados para treinar o modelo KNN.

knn.fit(X, y)
  • 1
3.5 Fazendo previsões

Use o modelo treinado para fazer previsões.

y_pred = knn.predict(X)
  • 1
4. Usando KNN para regressão no sklearn

KNN também pode ser usado para tarefas de regressão.

4.1 Importar regressor KNN
from sklearn.neighbors import KNeighborsRegressor
  • 1
4.2 Criar instância do regressor KNN
knn_reg = KNeighborsRegressor(n_neighbors=3)
  • 1
4.3 Modelo de treinamento

Use o conjunto de dados para treinar um modelo de regressão KNN.

knn_reg.fit(X, y)
  • 1
4.4 Fazendo previsões

Use o modelo treinado para previsão de regressão.

y_pred_reg = knn_reg.predict(X)
  • 1
5. Vantagens e desvantagens do algoritmo K-vizinho mais próximo
  • vantagem: O algoritmo é simples e fácil de entender, sem assumir a distribuição dos dados, possui forte adaptabilidade aos dados;
  • deficiência: Alta complexidade computacional, especialmente em grandes conjuntos de dados sensíveis a valores discrepantes;
6. Conclusão

O algoritmo K-vizinho mais próximo é um método de aprendizado de máquina simples, mas poderoso, adequado para tarefas de classificação e regressão. sklearn fornece uma implementação KNN fácil de usar, permitindo-nos aplicar rapidamente este algoritmo a problemas práticos.

Este artigo detalha como usar o algoritmo KNN no sklearn e fornece exemplos práticos de código. Espero que este artigo possa ajudar os leitores a entender melhor o algoritmo K-vizinho mais próximo e a dominar os métodos de implementação dessas técnicas no sklearn. À medida que a quantidade de dados continua a crescer e a tecnologia de aprendizado de máquina se desenvolve, o algoritmo K-vizinho mais próximo continuará a desempenhar um papel importante na análise de dados e na modelagem preditiva.