Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks Runtime 18.1 en hoger
Normaliseert een vector naar eenheidslengte met behulp van de opgegeven normgraad.
Syntaxis
vector_normalize(vector [, degree ])
Argumenten
-
vector: Een
ARRAY<FLOAT>expressie die de vector vertegenwoordigt. -
degree: Optioneel. Een
FLOATwaarde die het normtype aangeeft; wordt standaard ingesteld op 2,0 (Euclidische norm). Ondersteunde waarden:- 1,0 — L1 norm: absolute waarden van componenten som tot 1
- 2.0 — L2 norm: Euclidean lengte is gelijk aan 1
-
float('inf')— L∞ norm: maximum absolute component is gelijk aan 1
Retouren
Een ARRAY<FLOAT> weergave van de genormaliseerde vector met dezelfde richting als de invoer, maar met norm 1,0 onder de opgegeven graad.
Retourneert een lege matrix voor lege vectoren.
NULL Geeft als resultaat als de vector nulnorm heeft (bijvoorbeeld alle nullen) of als de invoer is NULL of bevatNULL.
Aantekeningen
- Alleen
ARRAY<FLOAT>wordt ondersteund; andere typen, zoalsARRAY<DOUBLE>ofARRAY<DECIMAL>genereren van een fout. Een niet-ondersteundedegreewaarde verhoogt INVALID_VECTOR_NORM_DEGREE. - L2-normalisatie is de standaard in dichte insluitingsworkloads.
Foutvoorwaarden
Examples
-- 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