ai_predict_class 関数

適用対象:はいにチェックマーク Databricks SQL はい Databricks ランタイム 19.3 以上

Important

この機能は ベータ版です。 使用するには、ワークスペース管理者がプレビューページから予測AI機能をオンにする必要があります。 Manage Azure Databricks プレビューを参照してください。

ai_predict_class() ターゲット列が NULL でない行から分類モデルを訓練し、対象列が NULLの行ではクラスを予測します。 この関数はスコアした行のみを返し、入力欄に予測値と信頼度の列を追加します。

必要条件

  • ProまたはServerless SQLウェアハウス、またはDatabricks Runtime 19.3以上を動かすクラスター
  • Predictive AI Functionsプレビューでワークスペースを登録してください。 Manage Azure Databricks プレビューを参照してください。

Syntax

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

論争

すべてのスカラー引数を名前で渡します。 名前や役職で input をパスできます。

  • input はトレーニング行とスコアリング行を含むテーブル値入力です。 ターゲット列が入っていない行はモデルを訓練 NULL 。 ターゲット列が NULL にある行はスコアリングされます。
  • target_col はターゲット列を命名する定数 STRING です。 ターゲットは最上位の数値、ブール、または文字列の列でなければならず、 feature_colsに表示されてはなりません。
  • feature_cols は特徴列に名前を付ける空でない定数 ARRAY<STRING> です。 各特徴は最上位の数値、ブール値、または文字列列でなければなりません。
  • seed (オプション)は、モデルトレーニング中に用いられる擬似乱数操作を初期化する積分値です。 既定値は 0 です。

返品

関数は、ターゲット列が NULLされる入力行を含むテーブルを返します。 出力はすべての入力列を保持し、以下の列を追加します:

  • <target_col>_prediction:予測されたクラスで、ターゲット列と同じデータ型を持ちます。
  • <target_col>_confidence:0と1の間のDOUBLEで、予測クラスのモデル確率を含む。

入力行に NULL ターゲットがない場合、関数は空のテーブルを返します。

Example

以下の例は、既知の解約結果を持つ顧客を対象にトレーニングし、結果が欠如している顧客が解約されるかどうかを予測しています。

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;

制限事項

  • 各呼び出しは1つのターゲットカラムをサポートし、新しいモデルを訓練します。 この関数はモデルを永続化して再利用しません。
  • ターゲットおよびフィーチャーカラムは最上位カラムでなければなりません。 ネストフィールドはサポートされていません。
  • 訓練行には少なくとも2つの異なる非NULL 目標値が含まれていなければなりません。
  • 入力にはすでに <target_col>_prediction または <target_col>_confidenceと名付けられた列が含まれてはなりません。

エラー条件

無効な列、型、引数については、 エラー条件AI_PREDICT_INVALID_PARAMETER参照してください。 不十分な訓練データについては、 誤AI_PREDICT_INSUFFICIENT_TRAINING_DATA条件を参照してください。

数値を予測するには、 ai_predict_value 関数を使います。 表状の行を訓練せずに提供したラベルとテキストを分類するには、 ai_classify 関数を使います。 その他のAI機能については、「 AI関数を使った非構造化データの変換」を参照してください。