Vai al contenuto principale

Capire la distanza euclidea: dalla teoria alla pratica

Scopri come la distanza euclidea collega l'antica geometria agli algoritmi moderni, con esempi di codice in Python e R, e conosci le sue applicazioni in data science, machine learning e analisi spaziale.
Aggiornato 29 set 2026  · 8 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

La distanza euclidea, un concetto che affonda le sue radici nella matematica dell'antica Grecia, è diventata uno strumento essenziale nella moderna data science, nel machine learning e nell'analisi spaziale. Prende il nome dal celebre Euclide e fornisce un modo fondamentale per misurare la distanza in linea retta tra punti nello spazio, sia in due dimensioni che in molte di più.

Che cos'è la distanza euclidea?

La distanza euclidea rappresenta il percorso più breve tra due punti nello spazio euclideo. È la distanza che misureresti con un righello, estesa a un qualsiasi numero di dimensioni. Questo concetto è profondamente radicato nel teorema di Pitagora, che afferma che in un triangolo rettangolo il quadrato della lunghezza dell'ipotenusa è uguale alla somma dei quadrati degli altri due lati.

Filosofo che insegna ai giovani la distanza euclidea

“Filosofo che insegna la distanza euclidea.” Immagine di Dall-E

La formula della distanza euclidea

Vediamo la formula della distanza euclidea in diverse dimensioni:

Distanza euclidea in 2D

In un piano bidimensionale, la distanza euclidea tra i punti A(x₁, y₁) e B(x₂, y₂) è data da:

Formula della distanza euclidea in uno spazio 2D

Per esempio, calcoliamo la distanza tra i punti A(1, 2) e B(4, 6):

Risoluzione della formula della distanza euclidea in due dimensioni

Visualizzazione della distanza euclidea 2D

Per capire meglio la distanza euclidea in 2D, visualizziamola:

Distanza euclidea 2D visualizzata

Distanza euclidea 2D. Immagine dell'autore

Questa visualizzazione mostra la distanza euclidea tra due punti in un piano 2D. La linea rossa rappresenta la distanza diretta, mentre le linee tratteggiate formano un triangolo rettangolo, illustrando il teorema di Pitagora in azione.

Distanza euclidea in 3D

Estendendo alle tre dimensioni, per i punti A(x₁, y₁, z₁) e B(x₂, y₂, z₂), la formula diventa:

Formula della distanza euclidea in tre dimensioni

Visualizzazione della distanza euclidea 3D

Visualizziamo la distanza euclidea in 3D:

Distanza euclidea 3D visualizzata

Distanza euclidea 3D. Immagine dell'autore

Questo grafico 3D mostra la distanza euclidea tra due punti nello spazio tridimensionale. La linea verde tratteggiata rappresenta la distanza diretta tra i punti.

Distanza euclidea in n dimensioni

In uno spazio con n dimensioni, la distanza euclidea tra i punti A(a₁, a₂, ..., aₙ) e B(b₁, b₂, ..., bₙ) è:

Formula della distanza euclidea in uno spazio n-dimensionale

Questo può essere scritto in modo più conciso usando la notazione di sommatoria:

Formula della distanza euclidea in uno spazio n-dimensionale con notazione di sommatoria

Relazione con i concetti di algebra lineare

Capire la distanza euclidea va oltre il semplice sapere come misurare il percorso più breve tra due punti. Si tratta anche di osservare queste distanze attraverso la lente dell'algebra lineare, un campo che ci aiuta a descrivere e risolvere problemi su spazio e dimensioni usando i vettori e le loro proprietà. Per approfondire l'argomento, esplora il corso Linear Algebra for Data Science in R, che copre estesamente questi concetti.

Distanza euclidea come norma vettoriale

La distanza euclidea misura quanto sono lontani due punti nello spazio. Immagina di avere due punti, uno all'inizio di un sentiero e l'altro in cima a una collina. Il percorso in linea retta che faresti dall'inizio alla cima può essere visto come la distanza euclidea. In algebra lineare, è come trovare la lunghezza di una freccia (o vettore) che punta direttamente dall'inizio del sentiero (punto A) alla cima della collina (punto B). Questa lunghezza si chiama “norma” del vettore, ovvero un modo elegante per dire lunghezza del percorso in linea retta.

Prodotto scalare e coseno dell'angolo

Quando si tratta di direzioni, il prodotto scalare ci aiuta a capire l'angolo tra due frecce. Per esempio, se ti trovi all'incrocio di due strade, il prodotto scalare ti direbbe quanto una strada “punta” verso l'altra. Si calcola usando le lunghezze di ciascuna strada (come le norme di cui abbiamo parlato) e l'angolo tra di esse. Più questo valore è vicino a 0, più le strade tendono a essere perpendicolari tra loro. Relativamente alla distanza, la formula del prodotto scalare aiuta a scomporre la distanza euclidea in componenti più gestibili, mostrando come i cambi di direzione influiscano sulla distanza complessiva.

Distanza euclidea e sottrazione di vettori

Per trovare la distanza euclidea tra due punti usando i vettori, in pratica sottrai un punto dall'altro per creare un nuovo vettore. Questo nuovo vettore punta direttamente da un punto all'altro e la sua lunghezza è la distanza euclidea che ti interessa. È come tracciare su una mappa il percorso diretto da casa tua al supermercato più vicino sottraendo le loro coordinate; ottieni una linea retta (o vettore) che mostra il percorso più breve.

Calcolare la distanza euclidea in Python e R

Esploriamo le implementazioni del calcolo della distanza euclidea sia in Python che in R. Vedremo come creare funzioni personalizzate e utilizzare librerie integrate per aumentare l'efficienza.

Esempio in Python

In Python, possiamo sfruttare la potenza di NumPy per operazioni efficienti sugli array e di SciPy per calcoli di distanza specializzati. Ecco come possiamo implementare la distanza euclidea:

import numpy as np
from scipy.spatial.distance import euclidean
def euclidean_distance(point1, point2):
    return np.sqrt(np.sum((np.array(point1) - np.array(point2))**2))

# 2D example
point_a = (1, 2)
point_b = (4, 6)
distance_2d = euclidean_distance(point_a, point_b)
print(f"2D Euclidean distance: {distance_2d:.2f}")

# 3D example
point_c = (1, 2, 3)
point_d = (4, 6, 8)
distance_3d = euclidean_distance(point_c, point_d)
print(f"3D Euclidean distance: {distance_3d:.2f}")

# Using SciPy for efficiency
distance_scipy = euclidean(point_c, point_d)
print(f"3D Euclidean distance (SciPy): {distance_scipy:.2f}")

Eseguendo questo codice, ci aspettiamo un output simile a: 

2D Euclidean distance: 5.00
3D Euclidean distance: 7.07
3D Euclidean distance (SciPy): 7.07

La funzione di SciPy è in genere più veloce e ottimizzata, soprattutto per dati ad alta dimensionalità, ma la nostra funzione personalizzata aiuta a illustrare il calcolo sottostante.

Esempio in R

R offre diversi modi per calcolare la distanza euclidea. Creeremo una funzione personalizzata e la confronteremo con la funzione dist() della libreria stats.

euclidean_distance <- function(point1, point2) {
  sqrt(sum((point1 - point2)^2))
}

# 2D example
point_a <- c(1, 2)
point_b <- c(4, 6)
distance_2d <- euclidean_distance(point_a, point_b)
print(paste("2D Euclidean distance:", round(distance_2d, 2)))

# 3D example
point_c <- c(1, 2, 3)
point_d <- c(4, 6, 8)
distance_3d <- euclidean_distance(point_c, point_d)
print(paste("3D Euclidean distance:", round(distance_3d, 2)))

# Using the dist() function from stats
distance_builtin <- stats::dist(rbind(point_c, point_d), method = "euclidean")
print(paste("3D Euclidean distance (built-in):", round(as.numeric(distance_builtin), 2)))

L'esecuzione di questo codice R dovrebbe produrre un output come:

[1] "2D Euclidean distance: 5"
[1] "3D Euclidean distance: 7.07"
[1] "3D Euclidean distance (built-in): 7.07"

La nostra funzione personalizzata euclidean_distance utilizza operazioni vettorializzate di R, risultando concisa ed efficiente. La funzione dist() di stats restituisce lo stesso risultato, validando la nostra funzione. Entrambi i metodi restituiscono una matrice.

Applicazioni della distanza euclidea

La distanza euclidea è un modo semplice per misurare quanto sono lontane le cose. È usata in vari ambiti per affrontare problemi che coinvolgono spazio e distanza.

K-nearest neighbors (KNN)

Nell'algoritmo dei k vicini più prossimi, la distanza euclidea aiuta a trovare i vicini più prossimi a un punto. Questo aiuta a decidere come classificare nuovi dati — per esempio stabilire se un'email è spam in base alla somiglianza con email simili, o consigliare prodotti simili a quelli che un cliente apprezza già.

K-means clustering

Nel clustering k-means, la distanza euclidea aiuta a raggruppare i punti dati collegando ciascun punto al centro più vicino di un cluster. Questo aiuta a organizzare i dati in categorie che condividono somiglianze, utile nella segmentazione dei clienti o in ricerca per raggruppare soggetti simili.

Multidimensional scaling (MDS)

Il multidimensional scaling usa la distanza euclidea per semplificare dati complessi in qualcosa di più facile da visualizzare e comprendere. Prende dati che di solito hanno molte caratteristiche (dimensioni) e li riduce in modo che siano più semplici da osservare e analizzare, aiutando a individuare con più chiarezza tendenze e pattern.

Elaborazione di immagini

In compiti come il rilevamento dei bordi nelle immagini o il riconoscimento di oggetti, la distanza euclidea misura quanto cambiano i colori dei pixel, aiutando a delineare gli oggetti o a identificare caratteristiche importanti in un'immagine. È utile, ad esempio, nell'imaging medico per identificare patologie o nei sistemi di sicurezza per riconoscere volti o oggetti.

Robotica

Per i robot, come droni o auto a guida autonoma, la distanza euclidea aiuta a calcolare il percorso più semplice da un punto all'altro. Questo consente a robot e ad altri sistemi automatizzati di muoversi in modo efficiente e sicuro, evitando ostacoli e calcolando i tragitti più facili verso la destinazione.

Confronto con altre metriche di distanza

La distanza euclidea è uno dei tanti modi per misurare quanto sono distanti i punti, ma situazioni diverse richiedono metodi diversi. Ecco come si confronta con altre metriche di distanza comuni:

Distanza Manhattan

Conosciuta anche come distanza “a blocchi” (city block), la distanza Manhattan misura la somma totale delle differenze assolute lungo ciascuna dimensione. Immagina di camminare nelle strade a griglia di una città: la distanza percorsa isolato per isolato è la tua distanza Manhattan. Questo metodo è particolarmente utile in ambienti che imitano una griglia, come la navigazione cittadina o alcuni tipi di giochi. È utile anche quando si lavora con dati ad altissima dimensionalità, dove la distanza euclidea può diventare meno affidabile. Per approfondire, dai un'occhiata al nostro tutorial sulla distanza Manhattan.

Distanza coseno

La distanza coseno considera l'angolo tra due punti o vettori. Invece di concentrarsi su quanto è lunga la linea che li unisce, valuta come sono orientati l'uno rispetto all'altro. Questo la rende particolarmente utile in campi come l'analisi del testo o i sistemi di raccomandazione, dove la direzione dei dati (come le frequenze delle parole negli articoli o le preferenze degli utenti) conta più della magnitudine (quanto). Per approfondire, vedi il nostro articolo sulla distanza coseno.

Distanza di Chebyshev

La distanza di Chebyshev è un altro modo di misurare la distanza, focalizzandosi sulla massima differenza lungo qualsiasi dimensione. È come giocare a scacchi: il re si muove verso la casella più lontana con il minor numero di mosse, indipendentemente che sia in orizzontale, verticale o in diagonale. Questa metrica è particolarmente utile negli scenari in cui serve considerare solo la più significativa tra più differenze. Scopri di più leggendo il nostro tutorial sulla distanza di Chebyshev.

Limitazioni della distanza euclidea

Sebbene la distanza euclidea sia ampiamente usata per la sua natura intuitiva e il calcolo semplice, presenta alcune limitazioni notevoli. Capirle aiuta a scegliere la misura di distanza giusta o ad adattare i dati per attenuare questi problemi.

Sensibilità alla scala

La distanza euclidea può essere influenzata in modo sproporzionato dalla scala delle variabili. Per esempio, in un dataset che contiene reddito ed età, il reddito tipicamente copre un intervallo molto più ampio (migliaia o decine di migliaia) rispetto all'età (di solito fino a circa 100). Questa disparità può far sì che il reddito domini il calcolo della distanza, alterando i risultati verso la sua scala.

Mitigazione: Normalizzare o standardizzare i dati può aiutare a bilanciare le scale delle diverse variabili, assicurando che nessuna variabile influenzi eccessivamente il calcolo della distanza.

Maledizione della dimensionalità

La maledizione della dimensionalità si riferisce a vari fenomeni che emergono all'aumentare del numero di dimensioni in un dataset. Uno di questi è che il concetto di “prossimità” o “distanza” diventa meno significativo — le distanze tendono a convergere, rendendo difficile distinguere in modo efficace tra punti vicini e lontani.

Mitigazione: Tecniche come l'analisi delle componenti principali (PCA) o il t-distributed stochastic neighbor embedding (t-SNE) riducono la dimensionalità dei dati. Questi metodi aiutano distillando le caratteristiche essenziali con maggiore varianza, semplificando i dati.

Sensibilità agli outlier

I calcoli della distanza euclidea possono essere fortemente influenzati dagli outlier. In spazi ad alta dimensionalità, un singolo outlier può alterare drasticamente le distanze, facendo apparire alcuni punti dati molto più simili o diversi di quanto siano realmente. 

Infatti, la sensibilità della regressione lineare agli outlier è legata al concetto di distanza euclidea. Questo perché, nella regressione lineare, il modello minimizza la somma dei residui al quadrato, cioè le differenze tra valori osservati e previsti. In pratica, si misura la distanza euclidea tra i punti osservati e la retta di regressione. Gli outlier possono influenzare in modo sproporzionato questa distanza perché il quadrato degli scostamenti più grandi cresce molto più rapidamente di quello degli scostamenti piccoli. 

Mitigazione: Usare metriche più robuste e meno sensibili agli outlier può aiutare, come la distanza Manhattan per certi tipi di dati. Inoltre, un preprocessing dei dati per identificare e trattare gli outlier — correggendoli o rimuovendoli — può evitare che falsino i calcoli di distanza.

Approccio alternativo: Considerare la distanza euclidea pesata è un'altra strategia. Questa variante assegna pesi diversi alle varie dimensioni o caratteristiche, eventualmente riducendo il peso di quelle soggette a outlier o rumore.

Conclusione

Come abbiamo visto, la distanza euclidea è una metrica fondamentale in molti ambiti analitici e tecnologici, che offre un modo diretto per misurare la distanza in linea retta tra punti. Capirla e saperla utilizzare può migliorare l'accuratezza e l'efficacia di molte applicazioni, dagli algoritmi di machine learning all'analisi spaziale.

Ti invito a sperimentare la distanza euclidea nei tuoi progetti ed esplorare ulteriori opportunità di apprendimento con corsi come Designing Machine Learning Workflows in Python e il corso Anomaly Detection in Python.


Vinod Chugani's photo
Author
Vinod Chugani
LinkedIn

Vinod Chugani ha iniziato la sua carriera a Tokyo come il più giovane Head dell'Hedge Fund Sales Desk di JPMorgan e in seguito ha stabilito un record personale di vendite a Lehman Brothers, poi ha costruito un'attività di distribuzione di elettronica in 30 paesi superando i 100 milioni di SG$ di fatturato prima di passare ai dati. Laureato in Economia alla Duke e diplomato alla NYC Data Science Academy, è stato uno dei tre beneficiari di borsa di studio su oltre 100 candidati per il corso Building AI Applications di Hugo Bowne-Anderson su Maven. Oggi scrive per DataCamp, KDnuggets, Machine Learning Mastery e Statology su argomenti che vanno dalla statistica all'AI agentica, e fa da mentor a professionisti dei dati alla NYC Data Science Academy con oltre 1.000 sessioni one-to-one all'attivo.

 

FAQ sulla distanza euclidea

Perché la distanza euclidea è importante nel machine learning?

La distanza euclidea aiuta in vari algoritmi di machine learning quantificando quanto siano simili o diversi i punti dati, aspetto importante per attività come classificazione, clustering e rilevamento di anomalie.

La distanza euclidea è sempre la scelta migliore per misurare le distanze in data science?

Non sempre. La metrica di distanza migliore dipende dal tipo di dati e dallo specifico problema. Per esempio, la distanza Manhattan potrebbe essere più adatta per dati ad alta dimensionalità o in situazioni in cui un movimento a griglia è più rappresentativo.

Come gestisce la distanza euclidea le coordinate negative?

La distanza euclidea misura la differenza assoluta tra coordinate corrispondenti, trattando tutte le coordinate allo stesso modo, che siano positive o negative.

Si può usare la distanza euclidea con dati categorici?

No, la distanza euclidea in genere richiede input numerici per calcolare le distanze. Per i dati categorici si usano metodi alternativi come la distanza di Hamming o altre misure di similarità personalizzate.

In che modo la scelta della distanza euclidea influisce sulle prestazioni di algoritmi di clustering come k-means?

Usare la distanza euclidea in algoritmi di clustering come k-means influenza direttamente come si formano i cluster, poiché determina le proprietà geometriche di questi ultimi. La distanza euclidea tende a formare cluster sferici, in cui la media funge da centro del cluster. Ciò può influire sulle prestazioni del clustering, soprattutto quando i cluster naturali nei dati non sono sferici.

Argomenti
Data Science
Python
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro