Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak pomocí kovariant, označovaných také jako externí regresory, vylepšit modely prognózování AutoML.
Kovariance jsou další proměnné mimo cílovou časovou řadu, které můžou zlepšit modely prognózování. Pokud například předpovídáte obsazenost hotelů, vědět, zda je víkend, může pomoci predikovat chování zákazníků.
V tomto příkladu vy:
- Vytvořte náhodnou datovou sadu časových řad.
- Provádění základních technických prací na funkcích
- Uložte datovou sadu jako
FeatureStoretabulku. - Použijte
FeatureStorejako kovariáty v experimentu prognózování AutoML.
Vytvoření dat
Tento příklad používá náhodně generovaná data časových řad pro ceny obsazenosti hotelů v lednu 2024. Pak pomocí AutoML predikujte occupancy_rate první den února 2024.
Spuštěním následujícího kódu vygenerujte ukázková data.
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)
Inženýrství funkcí
Použijte ukázkovou datovou sadu k vytvoření příznaku nazvaného is_weekend pro binární klasifikaci, zda je date víkend nebo ne.
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)
Vytvoření úložiště funkcí
Chcete-li použít kovarianty v AutoML, musíte použít úložiště funkcí pro spojení jedné nebo více tabulek kovariantů funkcí s primárními trénovacími daty v AutoML.
Uložte datový rámec hotel_weather_feature_df jako úložiště funkcí.
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'
)
Poznámka:
V tomto příkladu se k vytváření a zápisu tabulek používá Python FeatureEngineeringClient . K zápisu a vytváření tabulek ale můžete také použít SQL nebo DeltaLiveTables. Další možnosti najdete v tématu Práce s tabulkami funkcí v katalogu Unity.
Konfigurace experimentu AutoML
Pomocí parametru feature_store_lookups předejte úložiště funkcí do AutoML.
feature_store_lookups obsahuje slovník se dvěma poli: table_name a 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]
Poznámka:
feature_store_lookups může obsahovat několik dotazů na tabulky funkcí.
Spuštění experimentu AutoML
Pomocí následujícího kódu předejte rozhraní API pro volání experimentu AutoML features_lookups.
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)