Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőre vonatkozik: yes Databricks Runtime 18.1 vagy újabb ![]()
Normalizál egy vektort egységhosszra a megadott normafok szerint.
Szemantika
vector_normalize(vector [, degree ])
Arguments
-
vektor: A
ARRAY<FLOAT>vektort jelképező kifejezés. -
fok: Nem kötelező. A
FLOATnormatípust meghatározó érték; alapértelmezés szerint 2,0 (euklideszi norma). Támogatott értékek:- 1.0 – L1 norma: az összetevők abszolút értékei összege 1
- 2.0 – L2 norma: Az euklideszi hosszúság 1
-
float('inf')— L∞ norma: a maximális abszolút összetevő értéke 1
Visszatérítések
A ARRAY<FLOAT> normalizált vektort a bemenet irányával megegyező irányban, de az 1.0-s normával jelöli a megadott fok alatt.
Üres tömböt ad vissza üres vektorokhoz. Akkor adja NULL vissza, ha a vektor nulla normát tartalmaz (például az összes nullát), vagy ha a bemenet vagy NULL tartalmazza NULL.
Jegyzetek
- Csak
ARRAY<FLOAT>a támogatott; más típusok, példáulARRAY<DOUBLE>ARRAY<DECIMAL>a hiba felmerülése. A nem támogatottdegreeértékek INVALID_VECTOR_NORM_DEGREE. - Az L2 normalizálás a sűrű beágyazási számítási feladatok szabványa.
Hibafeltételek
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