Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
Databricks Runtime 18.1 ve üzerini denetleyin
Belirtilen norm derecesini kullanarak vektörleri birim uzunluğuna normalleştirir.
Sözdizimi
vector_normalize(vector [, degree ])
Argümanlar
-
vector: Vektöri
ARRAY<FLOAT>temsil eden bir ifade. -
derece: İsteğe bağlı.
FLOATNorm türünü belirten bir değer; varsayılan olarak 2,0 (Öklid normu) olur. Desteklenen değerler:- 1.0 — L1 normu: bileşenlerin mutlak değerleri 1'e toplam
- 2.0 — L2 normu: Öklid uzunluğu 1'e eşittir
-
float('inf')— L∞ norm: maksimum mutlak bileşen 1'e eşittir
İadeler
ARRAY<FLOAT> Girişle aynı yönde, ancak belirtilen derecenin altında norm 1.0 ile normalleştirilmiş vektöri temsil eden.
Boş vektörler için boş bir dizi döndürür. Vektörde sıfır normu varsa (tüm sıfırlar gibi) veya giriş ise NULL veya içeriyorsa NULLdöndürürNULL.
Notlar
- Yalnızca
ARRAY<FLOAT>desteklenir; veya gibiARRAY<DOUBLE>ARRAY<DECIMAL>diğer türler hata oluşturur. Desteklenmeyendegreebir değer INVALID_VECTOR_NORM_DEGREE yükseltir. - L2 normalleştirmesi, yoğun ekleme iş yüklerinde standarttır.
Hata koşulları
Örnekler
-- 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