GeeksforGeeks (Italiano)

K-Nearest Neighbors è uno degli algoritmi di classificazione più basilari ma essenziali nel Machine Learning. Appartiene al dominio dellapprendimento supervisionato e trova intensa applicazione nel riconoscimento di modelli, nel data mining e nel rilevamento delle intrusioni.

È ampiamente disponibile in scenari di vita reale poiché non è parametrico, il che significa che non fa qualsiasi ipotesi sottostante sulla distribuzione dei dati (al contrario di altri algoritmi come GMM, che presuppongono una distribuzione gaussiana dei dati dati).

Ci vengono forniti alcuni dati precedenti (chiamati anche dati di addestramento), che classifica le coordinate in gruppi identificati da un attributo.

Come esempio, considera la seguente tabella di punti dati contenente due caratteristiche:

Ora, dato un altro insieme di punti dati ( chiamati anche dati di test), assegna questi punti a un gruppo analizzando linsieme di addestramento. Tieni presente che i punti non classificati sono contrassegnati come “bianchi”.

Intuizione
Se rappresentiamo questi punti su un grafico, potremmo essere in grado di individuare alcuni cluster o gruppi. Ora, dato un punto non classificato, possiamo assegnarlo a un gruppo osservando a quale gruppo appartengono i suoi vicini più prossimi. Ciò significa che un punto vicino a un gruppo di punti classificato come “Rosso” ha una maggiore probabilità di essere classificato come “Rosso”.

Intuitivamente, possiamo vedere che il primo punto (2,5, 7) dovrebbe essere classificato come “Verde” e il secondo punto (5.5, 4.5) dovrebbe essere classificato come “Rosso”.

Algoritmo
Sia m il numero di campioni di dati di addestramento. Sia p un punto sconosciuto.

  1. Memorizza i campioni di addestramento in una matrice di punti dati arr. Ciò significa che ogni elemento di questo array rappresenta una tupla (x, y).
  2. for i=0 to m: Calculate Euclidean distance d(arr, p).
  3. Imposta S di K distanze più piccole ottenute . Ciascuna di queste distanze corrisponde a un punto dati già classificato.
  4. Restituisce letichetta di maggioranza tra S.

K può essere mantenuto come numero dispari in modo da poter calcolare una netta maggioranza nel caso in cui siano possibili solo due gruppi (es. rosso / blu). Con laumento di K, otteniamo confini più uniformi e definiti tra le diverse classificazioni. Inoltre, la precisione del suddetto classificatore aumenta allaumentare del numero di punti dati nel set di addestramento.

Programma di esempio
Supponi 0 e 1 come due classificatori (gruppi).

Risultato:

The value classified to unknown point is 0.

Questo articolo è fornito da Anannya Uberoi. Se ti piace GeeksforGeeks e vorresti contribuire, puoi anche scrivere un articolo usando contrib.geeksforgeeks.org o spedire il tuo articolo a [email protected]. Vedi il tuo articolo che appare sulla pagina principale di GeeksforGeeks e aiuta gli altri Geek.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *