ai_predict_class Função

Aplica-se a:assinalado Databricks SQL assinalado sim Databricks Runtime 19.3 e superiores

Importante

Este recurso está em versão Beta. Para o utilizar, um administrador de espaço de trabalho tem de ativar as Funções Preditivas de IA na página de Pré-visualizações . Ver Gerir as pré-visualizações de 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 linhas onde está NULL. A função devolve apenas as linhas que pontua e acrescenta colunas de previsão e confiança às colunas de entrada.

Requisitos

Syntax

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

Arguments

Passa todos os argumentos escalares pelo nome. Pode passar input pelo nome ou pela posição.

  • input é a entrada com valores de tabela que contém as linhas de treino e as linhas a pontuar. Linhas onde a coluna alvo não NULL é treinam o modelo. As linhas onde está NULL a coluna alvo são pontuadas.
  • target_col é uma constante STRING que nomeia a coluna alvo. O alvo deve ser uma coluna numérica, booleana ou 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 cadeia de nível superior.
  • seed (opcional) é um valor integral que inicializa operações pseudoaleatásticas usadas durante o treino do modelo. A predefinição é 0.

Devoluções

A função devolve uma tabela contendo as linhas de entrada onde a coluna de destino é 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 devolve uma tabela vazia.

Exemplo

O exemplo seguinte orienta-se para clientes com resultados de churn conhecidos e prevê se os clientes com resultados em falta 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;

Limitations

  • Cada invocação suporta uma coluna alvo e treina um novo modelo. A função não mantém o modelo para reutilização.
  • As colunas alvo e característica devem ser colunas de nível superior. Campos aninhados não são suportados.
  • As linhas de treino 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 treino 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 a rótulos que fornece sem treino 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.