Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Databricks SQL
Databricks Runtime
Importante
Esta característica se encuentra en su versión beta. Los administradores del área de trabajo pueden controlar el acceso a esta característica desde la página Vistas previas . Consulte Administrar versiones preliminares de Azure Databricks.
ai_top_drivers() es una función con valores de tabla para el análisis de contribuciones. Clasifica los valores dimensionales, o pares de valores, que más contribuyen a un cambio en una métrica entre un grupo de control y un grupo de prueba. Consulta Argumentos para los argumentos disponibles.
Requisitos
- Databricks Runtime 16.1 o superior
- Pro o Serverless SQL warehouse con Photon habilitado, o un clúster habilitado para Photon en Databricks Runtime
- Inscribe tu espacio de trabajo en la vista previa de Funciones de IA Predictiva . Consulte Administrar versiones preliminares de Azure Databricks.
Sintaxis
ai_top_drivers(input => input, metric => metric, is_test => is_test
[, optional_param ] [...])
optional_param:
{ dimensions => dimensions |
aggregation => aggregation |
min_support => min_support }
Argumentos
Aproba todos los argumentos por nombre.
-
inputes la entrada con valores de tabla a analizar. Proporciona una tabla o subconsulta con la columna de métrica, las columnas de dimensiones y la columna de etiquetas de prueba. -
metrices nombrarSTRINGla columna numérica a analizar. La columna debe tener un tipo numérico. -
is_testes unSTRINGnombrar una columna booleana que etiqueta cada fila.TRUEmarca la división de prueba yFALSEmarca la división de control. -
dimensions(opcional) es unARRAY<STRING>nombre de columnas para segmentar. Las columnas numéricas de baja cardinalidad se segmentan por valor exacto. Las columnas numéricas de alta cardinalidad se agrupan automáticamente enlow,medium, yhighrangos. Si omites este argumento, la función selecciona automáticamente las 20 columnas de dimensión correlacionadas superiores de la entrada. -
aggregation(opcional) es unSTRINGnombre que indica el agregado a aplicarmetricdentro de cada segmento. Los valores admitidos sonsum,avg,count,minymax. El valor predeterminado essum. -
min_support(opcional) es unDOUBLEentre 0 y 1 que representa la fracción mínima de filas analizables que un segmento debe cubrir para aparecer en los resultados. El valor predeterminado es0.05.
Returns
La función devuelve una tabla con las siguientes columnas:
-
contributor: YARRAY<STRING>eso describe el segmento. Cada elemento utiliza la formacolumn=value, por ejemplo["pickup_zip=high (>10044)"]o["pickup_zip=high (>10044)", "payment_type=CRD"]. -
metric_control: La métrica agregada para el segmento en el grupo de control (is_test=FALSE). -
metric_test: La métrica agregada para el segmento en el grupo de prueba (is_test=TRUE). -
change: La diferencia absoluta,metric_test−metric_control. -
relative_change: El cambio como una fracción demetric_control. -
support: La fracción total de filas analizables en el segmento.
Los resultados incluyen contribuyentes monodimensionales, pares de valores dimensionales y una ["all"] fila que resume la población completa.
Examples
El siguiente ejemplo compara los ingresos totales por tarifas entre enero y febrero de 2016 y encuentra los rangos de códigos postales para recogida que más contribuyen al cambio:
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
El siguiente ejemplo cuenta los viajes a través de rangos de códigos postales de entrega en los mismos periodos:
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
Para agregación count , proporciona una columna numérica para contar. Una columna constante como 1 AS trip_count es un patrón común.
Limitaciones
Las siguientes limitaciones se aplican durante la Beta:
- Las filas con un
NULLvalor en lametriccolumna ois_testse eliminan antes del análisis. -
count distinctymedianno se soportan agregados. -
MAPySTRUCTno se soportan columnas de dimensiones. Los identificadores numéricos, como los códigos postales y los IDs, se tratan como cantidades y pueden agruparse en rangos. Caste identificadores numéricos paraSTRINGsegmentar por valor exacto.