Condivisione della tecnologia

Esplorare il segreto della prossimità: applicazione dell'algoritmo K-nearest neighbor (KNN) in SKlearn

2024-07-12

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

Esplorare il segreto della prossimità: applicazione dell'algoritmo K-nearest neighbor (KNN) in SKlearn

Nel mondo del machine learning, l’algoritmo K-Nearest Neighbours (KNN) è noto per la sua semplicità e intuitività. KNN è un metodo di classificazione e regressione di base e il suo principio di funzionamento è molto semplice da comprendere: prevedere a quale categoria o valore appartiene un nuovo punto dati misurando la distanza tra diversi valori di caratteristiche. Scikit-learn (sklearn in breve), come libreria di machine learning ampiamente utilizzata in Python, fornisce l'implementazione dell'algoritmo KNN. Questo articolo introdurrà in dettaglio come utilizzare l'algoritmo KNN in sklearn e fornirà esempi pratici di codice.

1. Principi base dell'algoritmo del K-vicino più prossimo

L'idea centrale dell'algoritmo K-vicino più vicino è: se la maggior parte dei K vicini più vicini di un campione nello spazio delle caratteristiche appartengono a una determinata categoria, è probabile che anche il campione appartenga a questa categoria.

2. Elementi chiave dell'algoritmo del K-vicino più prossimo
  • Selezione del valore K: La scelta di K ha un impatto importante sulle prestazioni del modello.
  • misura della distanza: Nell'algoritmo KNN è possibile utilizzare diversi metodi di misurazione della distanza, come la distanza euclidea, la distanza di Manhattan, ecc.
  • funzione peso: Ai vicini può essere assegnato un peso diverso, ad esempio un peso reciproco in base alla distanza.
3. Classificazione utilizzando KNN in sklearn

Ecco i passaggi di base per la classificazione KNN utilizzando sklearn:

3.1 Importa classificatore KNN
from sklearn.neighbors import KNeighborsClassifier
  • 1
3.2 Preparare i dati

Supponiamo che tu abbia già un set di dati conXè la matrice caratteristica,yè la variabile di destinazione.

from sklearn.datasets import load_iris
X, y = load_iris(return_X_y=True)
  • 1
  • 2
3.3 Creare un'istanza del classificatore KNN
knn = KNeighborsClassifier(n_neighbors=3)
  • 1
3.4 Modello formativo

Utilizza il set di dati per addestrare il modello KNN.

knn.fit(X, y)
  • 1
3.5 Fare previsioni

Utilizzare il modello addestrato per fare previsioni.

y_pred = knn.predict(X)
  • 1
4. Utilizzo di KNN per la regressione in sklearn

KNN può essere utilizzato anche per attività di regressione.

4.1 Importa regressore KNN
from sklearn.neighbors import KNeighborsRegressor
  • 1
4.2 Creare un'istanza del regressore KNN
knn_reg = KNeighborsRegressor(n_neighbors=3)
  • 1
4.3 Modello formativo

Utilizza il set di dati per addestrare un modello di regressione KNN.

knn_reg.fit(X, y)
  • 1
4.4 Fare previsioni

Utilizzare il modello addestrato per la previsione della regressione.

y_pred_reg = knn_reg.predict(X)
  • 1
5. Vantaggi e svantaggi dell'algoritmo K-Nearest Neighbor
  • vantaggio: L'algoritmo è semplice e di facile comprensione, senza presupporre la distribuzione dei dati; ha una forte adattabilità ai dati.
  • discordanza: Elevata complessità computazionale, soprattutto su set di dati di grandi dimensioni;
6. Conclusione

L'algoritmo K-nearest neighbor è un metodo di machine learning semplice ma potente adatto per attività di classificazione e regressione. sklearn fornisce un'implementazione KNN facile da usare, permettendoci di applicare rapidamente questo algoritmo a problemi pratici.

Questo articolo descrive in dettaglio come utilizzare l'algoritmo KNN in sklearn e fornisce esempi pratici di codice. Spero che questo articolo possa aiutare i lettori a comprendere meglio l'algoritmo del vicino più vicino K e a padroneggiare i metodi di implementazione di queste tecniche in sklearn. Poiché la quantità di dati continua a crescere e la tecnologia di apprendimento automatico si sviluppa, l’algoritmo K-nearest neighbor continuerà a svolgere un ruolo importante nell’analisi dei dati e nella modellazione predittiva.