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
Normaliserar en vektor till enhetslängd med den angivna normgraden.
Syntax
vector_normalize(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: absoluta värden för komponenter summeras till 1
- 2.0 – L2 norm: Euklidiska längden är lika med 1
-
float('inf')— L∞ norm: högsta absoluta komponent är lika med 1
Retur
En ARRAY<FLOAT> som representerar den normaliserade vektorn med samma riktning som indata men med norm 1.0 under den angivna graden.
Returnerar en tom matris för tomma vektorer. Returnerar NULL om vektorn har noll norm (t.ex. alla nollor) eller 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-normalisering är standard i kompakta inbäddningsarbetsbelastningar.
Feltillstånd
- OGILTIG VEKTOR NORMGRAD (INVALID_VECTOR_NORM_DEGREE)
Exempel
-- L2 normalization (Euclidean) - 3-4-5 triangle
> SELECT vector_normalize(array(3.0f, 4.0f), 2.0f);
[0.6, 0.8]
-- Verify L2-normalized vector has unit norm
> SELECT vector_norm(vector_normalize(array(1.0f, 2.0f, 3.0f), 2.0f), 2.0f);
1.0
-- Zero vector returns NULL
> SELECT vector_normalize(array(0.0f, 0.0f, 0.0f), 2.0f);
NULL