- 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¶
vector
Valeur VECTOR à partir de laquelle calculer la distance.
vector
Valeur 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¶
En raison d’optimisations de calcul des fonctions de comparaison de vecteurs, les erreurs en virgule flottante peuvent être légèrement plus importantes que d’habitude (par exemple, environ 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 |
+--------------+