Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
fungsi
Berlaku untuk:
Databricks Runtime 18.1 ke atas
Menormalkan vektor ke panjang unit menggunakan derajat norma yang ditentukan.
Sintaksis
vector_normalize(vector [, degree ])
Argumen
-
vektor: Ekspresi
ARRAY<FLOAT>yang mewakili vektor. -
derajat: Opsional.
FLOATNilai yang menentukan jenis norma; default ke 2.0 (norma Euclidean). Nilai yang didukung:- 1.0 ā Norma L1: nilai absolut komponen jumlah hingga 1
- 2.0 ā Norma L2: Panjang Euclidean sama dengan 1
-
float('inf')ā Lā norma: komponen absolut maksimum sama dengan 1
Pengembalian Barang
Mewakili ARRAY<FLOAT> vektor yang dinormalisasi dengan arah yang sama dengan input tetapi dengan norma 1.0 di bawah derajat yang ditentukan.
Mengembalikan array kosong untuk vektor kosong. Mengembalikan NULL jika vektor memiliki norma nol (misalnya semua nol) atau jika input adalah NULL atau berisi NULL.
Catatan
- Hanya
ARRAY<FLOAT>didukung; jenis lain sepertiARRAY<DOUBLE>atauARRAY<DECIMAL>menimbulkan kesalahan. Nilai yang tidak didukungdegreemenimbulkan INVALID_VECTOR_NORM_DEGREE. - Normalisasi L2 adalah standar dalam beban kerja penyematan yang padat.
Kondisi kesalahan
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