ai_top_drivers fonksiyon

Şunun için geçerlidir:Evet olarak işaretlendi Databricks SQL Evet olarak işaretlendi Databricks Runtime

Important

Bu özellik Beta sürümündedir. Çalışma alanı yöneticileri Bu özelliğe erişimi Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.

ai_top_drivers() katkı analizi için tablo değerli bir fonksiyondur. Bir kontrol grubu ile test grubu arasındaki metrik değişikliğine en çok katkıda bulunan boyut değerlerini veya çiftleri sıralar. Mevcut argümanlar için Argümanlar bölümüne bakınız.

Requirements

  • Databricks Runtime 16.1 veya üzeri
  • Photon etkin olan Pro veya Serverless SQL deposu veya Databricks Runtime'da Photon destekli bir küme
  • Çalışma alanınızı Tahmin Edici Yapay Zeka Fonksiyonları önizlemesine kaydedin. Bkz. Azure Databricks önizlemelerini yönetme.

Syntax

ai_top_drivers(input => input, metric => metric, is_test => is_test
  [, optional_param ] [...])

optional_param:
  { dimensions => dimensions |
    aggregation => aggregation |
    min_support => min_support }

Argümanlar

Tüm argümanları isimle ilet.

  • input analiz edilecek tablo değerli girdidir. Metrik sütunu, boyut sütunları ve test etiketi sütunu içeren bir tablo veya alt sorgu sağla.
  • metric STRING analiz edilecek sayısal sütuna bir isimlendirmedir. Sütunun sayısal bir türü olmalıdır.
  • is_test STRING her satırı etiketleyen bir boolean sütununun adlandırılmasıdır. TRUE test bölünmesini işaretler ve FALSE kontrol bölünmesini işaretler.
  • dimensions (isteğe bağlı) ARRAY<STRING> segmentasyon yapılacak sütun isimlerinden biridir. Düşük kardinaliteli sayısal sütunlar tam değere göre segmentlere ayrılır. Yüksek kardinaliteli sayısal sütunlar otomatik olarak , low, ve medium aralıklara highgruplanır. Bu argümanı çıkarırsanız, fonksiyon girdiden en üst 20 korelasyon boyut sütununu otomatik olarak seçer.
  • aggregation (isteğe bağlı) STRING her segment içinde uygulanacak metric agrega isimlendirmedir. Desteklenen değerler , , sumavg, countve mindeğerleridirmax. Varsayılan değer: sum.
  • min_support (isteğe bağlı) DOUBLE 0 ile 1 arasında bir noktadır ve bir segmentin sonuçlarda görünmesi için kaplanması gereken analiz edilebilir satırların minimum kısmını temsil eder. Varsayılan değer: 0.05.

İadeler

Fonksiyon, aşağıdaki sütunlara sahip bir tablo döndürür:

  • contributor: An ARRAY<STRING> bu bölümü tanımlıyor. Her eleman formunu column=valuekullanır, örneğin ["pickup_zip=high (>10044)"] veya ["pickup_zip=high (>10044)", "payment_type=CRD"].
  • metric_control: Kontrol grubundaki segment için toplanan metrik (is_test = FALSE).
  • metric_test: Test grubundaki segment için toplanan metrik (is_test = TRUE).
  • change: Mutlak fark, metric_testmetric_control.
  • relative_change: Değişim, 'nin bir kısmi metric_contrololarak 'de 'de
  • support: Segmentteki toplam analiz edilebilir sıraların oranı.

Sonuçlar arasında tek boyutlu katkı sağlayanlar, boyut değerleri çiftleri ve tüm popülasyonu özetleyen bir ["all"] satır bulunur.

Examples

Aşağıdaki örnek, Ocak ile Şubat 2016 arasındaki toplam bilet gelirini karşılaştırır ve değişime en çok katkıda bulunan alım posta kodu aralıklarını bulur:

WITH input AS (
  SELECT
    pickup_zip,
    fare_amount,
    CASE
      WHEN DATE(tpep_pickup_datetime) BETWEEN '2016-01-01' AND '2016-01-31' THEN false
      WHEN DATE(tpep_pickup_datetime) BETWEEN '2016-02-01' AND '2016-02-29' THEN true
      ELSE NULL
    END AS is_test
  FROM samples.nyctaxi.trips
  WHERE DATE(tpep_pickup_datetime) BETWEEN '2016-01-01' AND '2016-02-29'
)
SELECT *
FROM ai_top_drivers(
  input => TABLE(input),
  metric => 'fare_amount',
  is_test => 'is_test',
  dimensions => ARRAY('pickup_zip'),
  aggregation => 'sum'
)
ORDER BY ABS(change) DESC

Aşağıdaki örnek, aynı dönemler arasındaki drop-off ZIP kodu aralıkları arasında yapılan seyahatleri saymaktadır:

WITH input AS (
  SELECT
    dropoff_zip,
    1 AS trip_count,
    CASE
      WHEN DATE(tpep_pickup_datetime) BETWEEN '2016-01-01' AND '2016-01-31' THEN false
      WHEN DATE(tpep_pickup_datetime) BETWEEN '2016-02-01' AND '2016-02-29' THEN true
      ELSE NULL
    END AS is_test
  FROM samples.nyctaxi.trips
  WHERE DATE(tpep_pickup_datetime) BETWEEN '2016-01-01' AND '2016-02-29'
)
SELECT *
FROM ai_top_drivers(
  input => TABLE(input),
  metric => 'trip_count',
  is_test => 'is_test',
  dimensions => ARRAY('dropoff_zip'),
  aggregation => 'count'
)
ORDER BY ABS(change) DESC

Note

Toplama için count , saymak için sayısal bir sütun sağlanın. Sabit bir sütun, örneğin 1 AS trip_count yaygın bir desendir.

Sınırlamalar

Beta sırasında aşağıdaki sınırlamalar geçerlidir:

  • Değeri veya NULL sütununda olan satırlar metricis_test analiz öncesi düşürülür.
  • count distinct ve median agregalar desteklenmiyor.
  • MAP ve STRUCT boyut sütunları desteklenmez. ZIP kodları ve kimlikler gibi sayısal tanımlayıcılar miktar olarak ele alınır ve aralıklara ayrılabilir. Sayısal tanımlayıcıları kesin STRING değere göre segmentlere ayırın.