Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Funzione
Si applica a:
Databricks Runtime 18.1 e versioni successive
Normalizza un vettore per la lunghezza dell'unità utilizzando il grado di norma specificato.
Sintassi
vector_normalize(vector [, degree ])
Arguments
-
vector:
ARRAY<FLOAT>espressione che rappresenta il vettore. -
degree: facoltativo. Valore
FLOATche specifica il tipo di norma. Il valore predefinito è 2,0 (norma euclidea). Valori supportati:- 1.0 — Norma L1: valori assoluti dei componenti sommati a 1
- 2.0 — L2 norma: lunghezza euclidea uguale a 1
-
float('inf')— L∞ norma: componente assoluto massimo uguale a 1
Restituzioni
Oggetto ARRAY<FLOAT> che rappresenta il vettore normalizzato con la stessa direzione dell'input, ma con la norma 1,0 sotto il grado specificato.
Restituisce una matrice vuota per vettori vuoti. Restituisce NULL se il vettore ha zero norma (ad esempio, tutti gli zeri) o se l'input è NULL o contiene NULL.
Note
- È supportato solo
ARRAY<FLOAT>altri tipi,ARRAY<DOUBLE>ad esempio oARRAY<DECIMAL>generano un errore. Un valore non supportatodegreegenera INVALID_VECTOR_NORM_DEGREE. - La normalizzazione L2 è lo standard nei carichi di lavoro di incorporamento densi.
Condizioni di errore
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