- Catégories :
VECTOR_L1_DISTANCE¶
Calcule la distance L1 entre deux vecteurs.
La distance L1, également connue sous le nom Taxi-distance (ou Distance de Manhattan), est une mesure de la distance entre deux points dans un espace vectoriel. La distance est calculée en prenant la somme de la valeur absolue des différences des éléments vectoriels. Le résultat est une valeur égale ou supérieure à zéro. Si la distance est zéro, les vecteurs sont identiques. Plus la distance est importante, plus les vecteurs sont éloignés l’un de l’autre.
- Voir aussi :
VECTOR_INNER_PRODUCT, VECTOR_L2_DISTANCE, VECTOR_COSINE_SIMILARITY, Intégrations vectorielles
Syntaxe¶
VECTOR_L1_DISTANCE( <vector>, <vector> )
Arguments¶
vectorValeur VECTOR à partir de laquelle calculer la distance.
vectorValeur VECTOR vers laquelle calculer la distance.
Renvoie¶
Renvoie la distance L1 entre les deux vecteurs d’entrée sous forme de valeur FLOAT.
Notes sur l’utilisation¶
Les fonctions vectorielles sont optimisées de manière à réduire la précision des virgules flottantes. Les résultats de cette fonction présentent une marge d’erreur jusqu’à
1e-4.
Exemples¶
Cet exemple utilise la fonction VECTOR_L1_DISTANCE pour déterminer quels vecteurs de la table sont les plus proches les uns des autres entre les colonnes a et b :
CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT [1.1,2.2,3]::VECTOR(FLOAT,3), [1,1,1]::VECTOR(FLOAT,3);
INSERT INTO vectors SELECT [1,2.2,3]::VECTOR(FLOAT,3), [4,6,8]::VECTOR(FLOAT,3);
SELECT VECTOR_L1_DISTANCE(a, b) FROM vectors;
+--------------+
| 3.300000191 |
|--------------|
| 11.800000191 |
+--------------+