Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks Runtime 18.1 a novější
Vypočítá normu Lp vektoru pomocí zadaného stupně.
Syntaxe
vector_norm(vector [, degree ])
Argumenty
-
vector: Výraz
ARRAY<FLOAT>představující vektor. -
degree: Nepovinný. Hodnota
FLOATurčující typ normy; výchozí hodnota je 2,0 (Euclidean norm). Podporované hodnoty:- 1.0 — L1 norm (Manhattan): součet absolutních hodnot
- 2.0 — Norm L2 (Euclidean): druhá odmocnina součtu čtverců
-
float('inf')— L∞ (nekonečná norma): maximální absolutní hodnota
Návraty
Hodnota FLOAT představující normu vektoru. Výsledek je nezáporný.
Vrátí hodnotu 0,0 pro prázdné vektory. Vrátí NULL , pokud je NULL vstup nebo obsahuje NULL.
Poznámky
- Podporuje se pouze
ARRAY<FLOAT>jiné typy, napříkladARRAY<DOUBLE>neboARRAY<DECIMAL>vyvolání chyby. Nepodporovanádegreehodnota zvyšuje INVALID_VECTOR_NORM_DEGREE. - Normou L2 je nejběžnější v hustých úlohách vkládání; L1 se používá v řídkých a pravděpodobnostních aplikacích; L∞ se používá v nejhorší analýze případů.
Stavy chyb
Příklady
-- L2 norm (Euclidean) - classic 3-4-5 triangle
> SELECT vector_norm(array(3.0f, 4.0f), 2.0f);
5.0
-- L1 norm (Manhattan)
> SELECT vector_norm(array(3.0f, 4.0f), 1.0f);
7.0
-- L∞ norm (infinity)
> SELECT vector_norm(array(3.0f, 4.0f), float('inf'));
4.0
-- Empty vector returns 0.0
> SELECT vector_norm(array(), 2.0);
0.0