ai_predict_class Função

Aplica-se a:com marca de verificação sim Databricks SQL marcado sim Databricks Runtime 19.3 e superiores

Importante

Esse recurso está em Beta. Para usá-lo, um administrador de espaço de trabalho deve ativar as Funções de IA Preditivas na página de Prévias . Consulte Gerenciar visualizações do Azure Databricks.

ai_predict_class() treina um modelo de classificação a partir de linhas onde a coluna alvo não NULL é e prevê a classe para as linhas onde ela é NULL. A função retorna apenas as linhas que ela pontua e adiciona colunas de previsão e confiança às colunas de entrada.

Requisitos

  • Um armazenamento SQL Pro ou Serverless, ou um cluster rodando Databricks Runtime 19.3 ou superior
  • Inscreva seu espaço de trabalho na prévia de Funções de IA Preditiva . Consulte Gerenciar visualizações do Azure Databricks.

Sintaxe

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

Arguments

Passe todos os argumentos escalares pelo nome. Você pode passar input pelo nome ou pela posição.

  • input é a entrada com valores de tabela que contém as linhas de treinamento e as linhas a serem pontuadas. Linhas onde a coluna alvo não NULL é treinam o modelo. As linhas onde está NULL a coluna de destino são pontuadas.
  • target_col é uma constante STRING que nomeia a coluna de destino. O alvo deve ser uma coluna numérica, booleana ou de string de nível superior e não deve aparecer em feature_cols.
  • feature_cols é uma constante ARRAY<STRING> não vazia que nomeia as colunas de características. Cada característica deve ser uma coluna numérica, booleana ou de string de nível superior.
  • seed (opcional) é um valor integral que inicializa operações pseudoaleatórias usadas durante o treinamento do modelo. O padrão é 0.

Returns

A função retorna uma tabela contendo as linhas de entrada onde a coluna alvo é NULL. A saída mantém todas as colunas de entrada e acrescenta as seguintes colunas:

  • <target_col>_prediction: A classe prevista, com o mesmo tipo de dado da coluna alvo.
  • <target_col>_confidence: A DOUBLE entre 0 e 1 que contém a probabilidade do modelo para a classe prevista.

Se nenhuma linha de entrada tiver um NULL alvo, a função retorna uma tabela vazia.

Exemplo

O exemplo a seguir treina clientes com resultados de churn conhecidos e prevê se clientes com resultados ausentes irão churner:

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;

Limitações

  • Cada invocação suporta uma coluna alvo e treina um novo modelo. A função não persiste o modelo para reutilização.
  • Colunas de alvo e característica devem ser colunas de nível superior. Campos aninhados não são suportados.
  • As linhas de treinamento devem conter pelo menos dois valores distintos, não alvoNULL .
  • A entrada não deve já conter colunas nomeadas <target_col>_prediction ou <target_col>_confidence.

Condições de erro

Para colunas, tipos ou argumentos inválidos, veja AI_PREDICT_INVALID_PARAMETER condição de erro. Para dados de treinamento inadequados, veja AI_PREDICT_INSUFFICIENT_TRAINING_DATA condição de erro.

Para prever um valor numérico, use ai_predict_value a função. Para classificar texto em relação aos rótulos que você fornece sem treinamento em linhas tabulares, use ai_classify função. Para outras Funções de IA, veja Transformar dados não estruturados usando Funções de IA.