Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
funktion
Gäller för:
Databricks Runtime 18.1 och senare
Beräknar lp-normen för en vektor med den angivna graden.
Syntax
vector_norm(vector [, degree ])
Arguments
-
vektor: Ett
ARRAY<FLOAT>uttryck som representerar vektorn. -
grad: Valfritt. Ett
FLOATvärde som anger normtypen. Standardvärdet är 2,0 (euklidisk norm). Värden som stöds:- 1.0 – L1 norm (Manhattan): summan av absoluta värden
- 2.0 – L2 norm (Euklidiska): kvadratrot av summan av kvadrater
-
float('inf')— L∞ (oändlighetsnorm): högsta absoluta värde
Retur
Ett FLOAT värde som representerar normen för vektorn. Resultatet är icke-negativt.
Returnerar 0.0 för tomma vektorer. Returnerar NULL om indata är NULL eller innehåller NULL.
Notes
- Endast
ARRAY<FLOAT>stöds, andra typer, till exempelARRAY<DOUBLE>ellerARRAY<DECIMAL>skapar ett fel. Ett värde somdegreeinte stöds genererar INVALID_VECTOR_NORM_DEGREE. - L2-normen är den vanligaste i arbetsbelastningar för tät inbäddning. L1 används i glesa och probabilistiska program; L∞ används i värsta fall analys.
Feltillstånd
- OGILTIG VEKTOR NORMGRAD (INVALID_VECTOR_NORM_DEGREE)
Exempel
-- 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