K-NN con Più Caratteristiche
Ora hai compreso come funziona k-NN con una singola caratteristica. Passiamo a un esempio leggermente più complesso che utilizza due caratteristiche: peso e larghezza.
In questo caso, è necessario trovare i vicini in base sia alla larghezza che al peso. Tuttavia, c'è un piccolo problema. Tracciamo i dolci e vediamo cosa non funziona:
Si può notare che il peso varia da 12 a 64, mentre la larghezza è solo tra 5 e 12. Poiché l'intervallo della larghezza è molto più piccolo, i dolci appaiono quasi allineati verticalmente. Se ora calcoliamo le distanze, rifletteranno principalmente le differenze di peso, come se non avessimo mai considerato la larghezza.
Esiste però una soluzione: scalare i dati.
Ora sia il peso che la larghezza sono sulla stessa scala e centrati intorno allo zero. Questo può essere ottenuto tramite la classe StandardScaler di sklearn. StandardScaler sottrae semplicemente la media del campione e poi divide il risultato per la deviazione standard del campione:
StandardScaler centra i dati attorno allo zero. Sebbene il centraggio non sia obbligatorio per k-NN e possa generare confusione, come "come può il peso essere negativo", si tratta semplicemente di un modo per presentare i dati a un computer. Alcuni modelli richiedono il centraggio, quindi è consigliabile utilizzare StandardScaler per la scalatura di default.
In realtà, è sempre necessario scalare i dati prima di utilizzare k-Nearest Neighbors. Con i dati scalati, ora possiamo trovare i vicini:
Nel caso di due caratteristiche, k-NN definisce un intorno circolare contenente il numero desiderato di vicini. Con tre caratteristiche, questo diventa una sfera. In dimensioni superiori, l'intorno assume una forma più complessa che non può essere visualizzata, ma i calcoli sottostanti rimangono invariati.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 4.17
K-NN con Più Caratteristiche
Scorri per mostrare il menu
Ora hai compreso come funziona k-NN con una singola caratteristica. Passiamo a un esempio leggermente più complesso che utilizza due caratteristiche: peso e larghezza.
In questo caso, è necessario trovare i vicini in base sia alla larghezza che al peso. Tuttavia, c'è un piccolo problema. Tracciamo i dolci e vediamo cosa non funziona:
Si può notare che il peso varia da 12 a 64, mentre la larghezza è solo tra 5 e 12. Poiché l'intervallo della larghezza è molto più piccolo, i dolci appaiono quasi allineati verticalmente. Se ora calcoliamo le distanze, rifletteranno principalmente le differenze di peso, come se non avessimo mai considerato la larghezza.
Esiste però una soluzione: scalare i dati.
Ora sia il peso che la larghezza sono sulla stessa scala e centrati intorno allo zero. Questo può essere ottenuto tramite la classe StandardScaler di sklearn. StandardScaler sottrae semplicemente la media del campione e poi divide il risultato per la deviazione standard del campione:
StandardScaler centra i dati attorno allo zero. Sebbene il centraggio non sia obbligatorio per k-NN e possa generare confusione, come "come può il peso essere negativo", si tratta semplicemente di un modo per presentare i dati a un computer. Alcuni modelli richiedono il centraggio, quindi è consigliabile utilizzare StandardScaler per la scalatura di default.
In realtà, è sempre necessario scalare i dati prima di utilizzare k-Nearest Neighbors. Con i dati scalati, ora possiamo trovare i vicini:
Nel caso di due caratteristiche, k-NN definisce un intorno circolare contenente il numero desiderato di vicini. Con tre caratteristiche, questo diventa una sfera. In dimensioni superiori, l'intorno assume una forma più complessa che non può essere visualizzata, ma i calcoli sottostanti rimangono invariati.
Grazie per i tuoi commenti!