Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
funktion
gäller för:
Databricks SQL
Databricks Runtime
Important
Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.
ai_top_drivers() är en tabellvärd funktion för bidragsanalys. Den rangordnar dimensionsvärden, eller par av värden, som bidrar mest till en förändring i en metrik mellan en kontrollgrupp och en testgrupp. Se Argument för tillgängliga argument.
Kravspecifikation
- Databricks Runtime 16.1 eller högre
- Pro eller Serverless SQL warehouse med Photon aktiverat, eller ett Photon-aktiverat kluster på Databricks Runtime
- Registrera din arbetsyta i förhandsvisningen av Predictive AI Functions . Se Hantera förhandsversioner av Azure Databricks.
Syntax
ai_top_drivers(input => input, metric => metric, is_test => is_test
[, optional_param ] [...])
optional_param:
{ dimensions => dimensions |
aggregation => aggregation |
min_support => min_support }
Argument
Skicka alla argument vid namn.
-
inputär den tabellvärda indata att analysera. Tillhandahåll en tabell eller delfråga med metrikkolumnen, dimensionskolumnerna och testetikettens kolumn. -
metricär en namngivningSTRINGav den numeriska kolumnen som ska analyseras. Kolumnen måste ha en numerisk typ. -
is_testär enSTRINGnamngivning av en boolesk kolumn som märker varje rad.TRUEmarkerar testdelningen ochFALSEmarkerar kontrolluppdelningen. -
dimensions(valfritt) är enARRAY<STRING>av kolumnnamn att segmentera på. Numeriska kolumner med låg kardinalitet är segmenterade efter exakta värden. Numeriska kolumner med hög kardinalitet grupperas automatiskt ilow,medium, ochhighintervall. Om du utelämnar detta argument väljer funktionen automatiskt de 20 översta korrelerade dimensionskolumnerna från indatan. -
aggregation(valfritt) är en namngivningSTRINGav aggregatet som ska tillämpas inommetricvarje segment. Värden som stöds ärsum,avg,count,minochmax. Standardvärdet ärsum. -
min_support(valfritt) är enDOUBLEmellan 0 och 1 som representerar den minsta andelen analyserbara rader som ett segment måste täcka för att synas i resultaten. Standardvärdet är0.05.
Returns
Funktionen returnerar en tabell med följande kolumner:
-
contributor: OchARRAY<STRING>som beskriver segmentet. Varje element använder formencolumn=value, till exempel["pickup_zip=high (>10044)"]eller["pickup_zip=high (>10044)", "payment_type=CRD"]. -
metric_control: Den aggregerade metriken för segmentet i kontrollgruppen (is_test=FALSE). -
metric_test: Den aggregerade metriken för segmentet i testgruppen (is_test=TRUE). -
change: Den absoluta skillnaden,metric_test−metric_control. -
relative_change: Förändringen som en bråkdel avmetric_control. -
support: Andelen av totala analyserbara rader i segmentet.
Resultaten inkluderar bidragsgivare i en dimension, par av dimensionsvärden och en ["all"] rad som sammanfattar hela populationen.
Examples
Följande exempel jämför den totala biljettintäkterna mellan januari och februari 2016 och hittar de upphämtningsnummerintervall som bidrar mest till förändringen:
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
Följande exempel räknar resor över avlämningspostnummerområden mellan samma perioder:
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
För count aggregering, ange en numerisk kolumn att räkna med. En konstant kolumn som är 1 AS trip_count ett vanligt mönster.
Limitations
Följande begränsningar gäller under beta:
- Rader med ett
NULLvärde imetricelleris_testeller tas bort innan analysen. -
count distinctochmedianaggregat stöds inte. -
MAPochSTRUCTdimensionskolumner stöds inte. Numeriska identifierare, såsom postnummer och ID:n, behandlas som kvantiteter och kan grupperas i intervall. Kasta numeriska identifierare förSTRINGatt segmentera efter exakt värde.