ai_predict_class 函數

適用於:勾選標記為是 Databricks SQL 勾選為 Databricks 執行時間 19.3 及以上版本

Important

這項功能位於 測試版 (Beta) 中。 工作區管理員可以從 「預覽 」頁面控制對此功能的存取。 請參閱 管理 Azure Databricks 預覽。

ai_predict_class() 從目標欄位不 NULL 在的列訓練分類模型,並預測該欄位所在的列的類別 NULL。 該函數僅回傳其評分的列,並將預測欄與信心欄附加於輸入欄後。

要求

  • 一個 Pro 或 Serverless SQL 倉庫,或是運行 Databricks Runtime 19.3 或以上版本的叢集
  • 請在預測 AI 功能 預覽中註冊您的工作空間。 請參閱 管理 Azure Databricks 預覽。

語法

ai_predict_class(
  input => TABLE(input),
  target_col => target_col,
  feature_cols => feature_cols
  [, seed => seed]
)

Arguments

將所有標量參數都以名稱傳遞。 你可以用名字或位置通過 input 。

  • input 是包含訓練列與評分列的表格值輸入。 目標欄位不在的列則無法 NULL 訓練模型。 目標欄位 NULL 所在的列會被評分。
  • target_col 是指定目標欄位的常數 STRING 。 目標必須是頂層的數字、布林或字串欄位,且不得出現在 feature_cols。
  • feature_cols 是一個非空常數 ARRAY<STRING> ,將特徵欄位命名為。 每個特徵必須是頂層的數字、布林或字串欄位。
  • seed (可選)是一個整數值,用於初始化模型訓練期間使用的偽隨機運算。 預設值為 0。

Returns

該函式回傳一個包含輸入列的表格,目標欄位為 NULL。 輸出保留所有輸入欄位,並附加以下欄位:

  • <target_col>_prediction:預測類別,資料型態與目標欄位相同。
  • <target_col>_confidence: DOUBLE 介於 0 和 1 之間的 A 包含預測類別的模型機率。

若無輸入列有 NULL 目標,函式回傳一個空資料表。

範例

以下範例針對已知流失結果的客戶進行訓練,並預測有缺失結果的客戶是否會流失:

WITH customers AS (
  SELECT * FROM VALUES
    (1, 3, 'monthly', true),
    (2, 24, 'annual', false),
    (3, 5, 'monthly', true),
    (4, 30, 'annual', false),
    (5, 8, 'monthly', true),
    (6, 36, 'annual', false),
    (7, 6, 'monthly', NULL),
    (8, 28, 'annual', NULL)
  AS customers(customer_id, tenure_months, plan, churned)
)
SELECT customer_id, churned_prediction, churned_confidence
FROM ai_predict_class(
  input => TABLE(customers),
  target_col => 'churned',
  feature_cols => ARRAY('tenure_months', 'plan'),
  seed => 42
)
ORDER BY customer_id;

Limitations

  • 每個呼叫支援一個目標欄位,並訓練一個新的模型。 該函式不會持久化模型以便重複使用。
  • 目標欄和特徵欄必須是頂層欄。 巢狀欄位不被支援。
  • 訓練列必須包含至少兩個不同的非NULL 目標值。
  • 輸入中不得已包含名為 <target_col>_prediction 或 <target_col>_confidence的欄位。

錯誤條件

關於無效的欄位、類型或參數,請參見 錯誤條件AI_PREDICT_INVALID_PARAMETER。 關於訓練資料不足,請參見 AI_PREDICT_INSUFFICIENT_TRAINING_DATA錯誤條件。

要預測數值,請使用 ai_predict_value 函數。 若要將文字與你提供的標籤分類,且未訓練於表格列,請使用 ai_classify 函數。 關於其他 AI 函式,請參見 使用 AI 函數轉換非結構化資料。