Anteckning
Å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.
Den här artikeln visar hur du använder samvariater, även kallade externa regressorer, för att förbättra AutoML-prognosmodeller.
Covariater är ytterligare variabler utanför måltidsserien som kan förbättra prognosmodellerna. Om du till exempel förutspår hotellbeläggningspriser kan det vara bra att veta om det är helgen som kan hjälpa dig att förutsäga kundernas beteende.
I det här exemplet gör du så här:
- Skapa en slumpmässig tidsseriedatauppsättning.
 - Utför grundläggande funktionstekniska arbeten.
 - Lagra datamängden som en 
FeatureStoretabell. - 
              
FeatureStoreAnvänd som samvariat i ett AutoML-prognosexperiment. 
Skapa data
I det här exemplet används slumpmässigt genererade tidsseriedata för hotellbeläggningspriser i januari 2024. Använd sedan AutoML för att förutsäga occupancy_rate för den första dagen i februari 2024.
Kör följande kod för att generera exempeldata.
df = spark.sql("""SELECT explode(sequence(to_date('2024-01-01'), to_date('2024-01-31'), interval 1 day)) as date, rand() as occupancy_rate FROM (SELECT 1 as id) tmp ORDER BY date""")
display(df)
Funktionsteknik
Använd exempeldatauppsättningen för att skapa en funktion som kallas is_weekend en binär klassificerare för huruvida en date är en helg eller inte.
from pyspark.sql.functions import dayofweek, when
def compute_hotel_weekend_features(df):
  ''' is_weekend feature computation code returns a DataFrame with 'date' as primary key'''
  return df.select("date").withColumn(
      "is_weekend",
      when(dayofweek("date").isin( 1, 2, 3, 4, 5), 0) # Weekday
      .when(dayofweek("date").isin(6, 7), 1) # Weekend
  )
hotel_weekend_feature_df = compute_hotel_weekend_features(df)
Skapa funktionslagret
Om du vill använda kovarianter i AutoML måste du använda en Feature Store för att ansluta en eller flera kovarierade funktionstabellerna med den primära träningsdatan i AutoML.
Lagra dataramen hotel_weather_feature_df som en Feature Store.
from databricks.feature_engineering import FeatureEngineeringClient
fe = FeatureEngineeringClient()
hotel_weekend_feature_table = fe.create_table(
  name='ml.default.hotel_weekend_features', # change to desired location
  primary_keys=['date'],
  df=hotel_weekend_feature_df,
  description='Hotel is_weekend features table'
)
Kommentar
I det här exemplet används Python-FeatureEngineeringClient för att skapa och skriva tabeller. Du kan dock också använda SQL eller DeltaLiveTables för att skriva och skapa tabeller. Mer information finns i Arbeta med funktionstabeller i Unity Catalog.
Konfigurera AutoML-experimentet
Använd parametern feature_store_lookups för att skicka funktionsarkivet till AutoML. 
              feature_store_lookups innehåller en ordlista med två fält: table_name och lookup_key.
hotel_weekend_feature_lookup = {
  "table_name": "ml.default.hotel_weekend_features", # change to location set above
  "lookup_key": ["date"]
}
feature_lookups = [hotel_weekend_feature_lookup]
Kommentar
              feature_store_lookups kan innehålla flera funktionstabellsökningar.
Kör AutoML-experimentet
Använd följande kod för att skicka features_lookups till ett AutoML-experiment-API-anrop.
from databricks import automl
summary = automl.forecast(dataset=df, target_col="occupancy_rate", time_col="date", frequency="d", horizon=1, timeout_minutes=30, identity_col=None, feature_store_lookups=feature_lookups)