La Distancia Euclidiana (Euclidean Distance) es una de las métricas de distancia más utilizadas en Ciencia de Datos, Machine Learning y Sistemas de Recomendación. Su objetivo es medir la distancia en línea recta entre dos puntos dentro de un espacio multidimensional, proporcionando una medida intuitiva de cuánto difieren dos observaciones.
Esta métrica constituye la base de numerosos algoritmos de aprendizaje automático, como K-Nearest Neighbors (KNN), algunos algoritmos de clustering, sistemas de recomendación basados en vecinos y técnicas de detección de anomalías. Su popularidad se debe a que ofrece una representación geométrica sencilla de la distancia entre dos vectores de características.
Aunque es una de las métricas más conocidas, su utilización requiere prestar especial atención a la escala de las variables y a la naturaleza de los datos. En este artículo se analizan sus fundamentos, funcionamiento, ventajas, limitaciones e implementación práctica en Python.
¿Qué es la Distancia Euclidiana?
La Distancia Euclidiana es una medida matemática que calcula la distancia en línea recta entre dos puntos en un espacio de una o varias dimensiones. Se basa en el Teorema de Pitágoras y representa la longitud del segmento que une dos puntos.
Su fórmula general es:
$$d=\sqrt{\sum_{i=1}^{n}(A_i-B_i)^2}$$
donde:
- \(A_i\)representa el valor de la característica (i) del primer vector.
- \(B_i\) representa el valor correspondiente del segundo vector.
- \(n\) es el número total de dimensiones.
El resultado siempre es un número mayor o igual que cero. Cuanto menor sea la distancia, mayor será la similitud entre ambos objetos.

¿Cómo funciona?
La Distancia Euclidiana calcula la diferencia entre cada característica de dos vectores, eleva dichas diferencias al cuadrado, suma todos los resultados y finalmente obtiene la raíz cuadrada.
El procedimiento general consiste en:
- Comparar cada característica de ambos vectores.
- Calcular la diferencia entre los valores.
- Elevar cada diferencia al cuadrado.
- Sumar todos los cuadrados obtenidos.
- Calcular la raíz cuadrada del resultado.
Este procedimiento produce la distancia geométrica entre ambas observaciones.
Interpretación de los valores
La Distancia Euclidiana toma valores comprendidos entre:
$$0 \le D < \infty$$
Su interpretación es sencilla.
| Valor | Interpretación |
|---|---|
| 0 | Ambos vectores son idénticos |
| Valor pequeño | Alta similitud |
| Valor elevado | Baja similitud |
Al tratarse de una métrica de distancia, valores menores indican una mayor semejanza.
Ejemplo conceptual
Supongamos dos usuarios representados mediante dos características.
Usuario A:
- Compras: 8
- Visitas: 12
Usuario B:
- Compras: 5
- Visitas: 15
La distancia sería:
$$
\sqrt{(8-5)^2+(12-15)^2}
\approx4.24
$$
La distancia entre ambos usuarios es aproximadamente 4,24.
Ejemplo gráfico
Consideremos dos puntos en un plano.
A = (2,3)
B = (6,7)
La distancia euclidiana es:
$$
\sqrt{(6-2)^2+(7-3)^2}
\approx5.66
$$
Esta representa la línea recta más corta entre ambos puntos.
¿Por qué es importante en los sistemas de recomendación?
Muchos sistemas de recomendación representan usuarios o productos mediante vectores numéricos. La Distancia Euclidiana permite cuantificar cuánto difieren dichos vectores.
Se utiliza principalmente cuando:
- Las variables son numéricas.
- La magnitud de las diferencias es importante.
- Se emplean algoritmos basados en vecinos.
- Los datos han sido previamente normalizados.
En estos casos, los elementos más cercanos suelen considerarse los más similares.
Beneficios
La Distancia Euclidiana ofrece numerosas ventajas.
- Muy fácil de interpretar.
- Basada en una representación geométrica intuitiva.
- Ampliamente utilizada en Machine Learning.
- Compatible con numerosos algoritmos.
- Fácil de implementar.
- Adecuada para variables numéricas continuas.
- Muy eficiente en espacios de baja dimensión.
¿Cuándo utilizar la Distancia Euclidiana?
Es recomendable utilizarla cuando:
- Se trabaja con variables numéricas continuas.
- Las variables han sido normalizadas.
- Se implementan algoritmos KNN.
- Se desarrollan sistemas de recomendación basados en vecinos.
- Se realizan tareas de clustering.
- Se comparan vectores de características numéricas.
- La magnitud de las diferencias resulta relevante.
No suele ser la mejor opción para datos categóricos o texto sin transformación previa.
Ventajas y desventajas
| Ventajas | Desventajas |
|---|---|
| Fácil interpretación | Muy sensible a la escala de las variables |
| Muy utilizada en Machine Learning | Sensible a valores atípicos |
| Representación geométrica intuitiva | Pierde eficacia en alta dimensionalidad |
| Compatible con numerosos algoritmos | Requiere variables numéricas |
| Implementación sencilla | No considera correlaciones entre variables |
Limitaciones
Aunque es una de las métricas más utilizadas, presenta ciertas limitaciones.
- Es muy sensible a la escala de las variables.
- Requiere normalización cuando las variables tienen unidades distintas.
- Puede verse afectada por valores extremos.
- No captura relaciones lineales entre variables.
- En espacios de alta dimensionalidad pierde capacidad discriminativa debido a la denominada maldición de la dimensionalidad (Curse of Dimensionality).
- No resulta adecuada para variables categóricas sin transformación previa.
Por ello, suele combinarse con procesos de escalado, selección de variables o reducción de dimensionalidad.
Distancia Euclidiana vs otras medidas
| Medida | Qué compara | Sensible a la magnitud | Tipo de datos recomendado |
|---|---|---|---|
| Distancia Euclidiana | Distancia geométrica | Sí | Variables numéricas |
| Distancia Manhattan | Diferencias absolutas | Sí | Variables numéricas |
| Similitud del Coseno | Dirección del vector | No | Texto, TF-IDF, Embeddings |
| Similitud de Pearson | Relación lineal | No | Valoraciones |
| Índice de Jaccard | Elementos compartidos | No | Datos binarios |
La Distancia Euclidiana destaca cuando interesa medir la distancia geométrica real entre observaciones.
Distancia Euclidiana vs Distancia Manhattan
Ambas son métricas ampliamente utilizadas para comparar observaciones numéricas.
| Característica | Distancia Euclidiana | Distancia Manhattan |
|---|---|---|
| Tipo de norma | L2 | L1 |
| Cálculo | Raíz cuadrada de la suma de cuadrados | Suma de diferencias absolutas |
| Trayectoria | Línea recta | Recorrido por cuadrícula |
| Sensibilidad a valores extremos | Mayor | Menor |
| Coste computacional | Mayor | Menor |
La elección depende del problema y del comportamiento esperado de los datos.
Aplicaciones en Data Science y Machine Learning
La Distancia Euclidiana aparece en numerosos ámbitos de la Ciencia de Datos. Entre sus aplicaciones más habituales destacan:
- Sistemas de recomendación.
- K-Nearest Neighbors (KNN).
- Clustering.
- Detección de anomalías.
- Reconocimiento de patrones.
- Visión por computador.
- Minería de datos.
- Bioinformática.
- Sistemas de búsqueda.
- Segmentación de clientes.
Es una de las métricas fundamentales para comparar observaciones numéricas.
Implementación en Python
Calcular la Distancia Euclidiana con SciPy
from scipy.spatial.distance import euclidean
A = [2, 3]
B = [6, 7]
distancia = euclidean(A, B)
print(distancia)
Resultado:
5.656854249492381Utilizando Scikit-Learn
from sklearn.metrics.pairwise import euclidean_distances
import numpy as np
A = np.array([[2, 3]])
B = np.array([[6, 7]])
distancia = euclidean_distances(A, B)
print(distancia)Resultado:
[[5.65685425]]Calcular una matriz de distancias
from sklearn.metrics.pairwise import euclidean_distances
import numpy as np
X = np.array([
[2, 3],
[6, 7],
[5, 2]
])
matriz = euclidean_distances(X)
print(matriz)
Resultado aproximado:
[[0.00 5.66 3.16]
[5.66 0.00 5.10]
[3.16 5.10 0.00]]La matriz contiene la distancia entre todos los pares de observaciones.
Utilizar la Distancia Euclidiana en KNN
from sklearn.neighbors import KNeighborsClassifier
modelo = KNeighborsClassifier(
n_neighbors=5,
metric="euclidean"
)
modelo.fit(X_train, y_train)
La Distancia Euclidiana es la métrica utilizada por defecto en muchas implementaciones de KNN.
Complejidad computacional
Para dos vectores con n características:
- El cálculo de la Distancia Euclidiana tiene una complejidad temporal aproximada de O(n).
Cuando se calculan las distancias entre todas las observaciones de una matriz con m registros:
- La complejidad aproximada es O(m² · n).
En conjuntos de datos de gran tamaño suele recurrirse a estructuras como KD-Tree, Ball Tree o algoritmos de búsqueda aproximada de vecinos para reducir el tiempo de cálculo.
Buenas prácticas
Para utilizar correctamente la Distancia Euclidiana se recomienda:
- Normalizar o estandarizar las variables antes del cálculo.
- Utilizar únicamente variables numéricas.
- Analizar la presencia de valores atípicos.
- Comparar su rendimiento frente a otras métricas.
- Reducir la dimensionalidad cuando existan muchas variables.
- Validar experimentalmente la elección de la métrica.
- Documentar el preprocesamiento realizado antes del cálculo.
Conclusión
La Distancia Euclidiana es una de las métricas más utilizadas en Ciencia de Datos y Machine Learning debido a su sencillez, interpretación geométrica y amplia compatibilidad con algoritmos como KNN, clustering y sistemas de recomendación basados en vecinos. Al medir la distancia en línea recta entre dos observaciones, proporciona una forma intuitiva de cuantificar la similitud entre vectores numéricos.
Sin embargo, su eficacia depende en gran medida de la calidad del preprocesamiento de los datos. La normalización de las variables, el tratamiento de valores atípicos y la reducción de dimensionalidad son aspectos fundamentales para obtener resultados fiables. Cuando se utiliza en el contexto adecuado, la Distancia Euclidiana continúa siendo una herramienta esencial para resolver problemas de clasificación, agrupamiento, recomendación y análisis de datos en múltiples dominios.