Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, AutoML tahmin modellerini geliştirmek için dış regresyonlar olarak da bilinen kovaryatların nasıl kullanılacağı gösterilmektedir.
Kovaryates, tahmin modellerini geliştirebilen hedef zaman serisi dışındaki ek değişkenlerdir. Örneğin, otel doluluk oranlarını tahmin ediyorsanız, hafta sonu olup olmadığını bilmek müşterinin davranışını tahmin etmenize yardımcı olabilir.
Bu örnekte, siz:
- Rastgele bir zaman serisi veri kümesi oluşturun.
- Temel özellik mühendisliği çalışmaları yapın.
- Veri kümesini tablo olarak
FeatureStoredepolayın. -
FeatureStoreBir AutoML tahmin denemesinde birlikte değişken olarak kullanın.
Verileri oluşturma
Bu örnekte, Ocak 2024'teki otel doluluk oranları için rastgele oluşturulan zaman serisi verileri kullanılır. Ardından AutoML'yi kullanarak Şubat 2024'ün ilk gününü tahmin occupancy_rate edin.
Örnek verileri oluşturmak için aşağıdaki kodu çalıştırın.
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)
Özellik mühendisliği
Örnek veri kümesini kullanarak, is_weekend adlı bir özelliği, bir ikili sınıflandırıcının date'nin hafta sonu olup olmadığını belirlemesi için özellik mühendisliği yaparak geliştirin.
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)
Özellik Deposu oluşturma
AutoML'de kovaryantları kullanmak için, AutoML'deki birincil eğitim verileriyle bir veya daha fazla kovaryant özellik tablosunu birleştirmek üzere bir Özellik Deposu kullanmanız gerekir.
Veri çerçevesini hotel_weather_feature_df Özellik Deposu olarak depolayın.
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'
)
Not
Bu örnek, tablo oluşturmak ve yazmak için Python'ı FeatureEngineeringClient kullanır. Ancak, tablo yazmak ve oluşturmak için SQL veya DeltaLiveTables da kullanabilirsiniz. Daha fazla seçenek için bkz. Unity Kataloğu'ndaki özellik tabloları .
AutoML denemesini yapılandırma
Özellik Deposu'nu AutoML'ye iletmek için feature_store_lookups parametresini kullanın.
feature_store_lookups iki alanı olan bir sözlük içerir: table_name ve 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]
Not
feature_store_lookups birden çok özellik tablosu araması içerebilir.
AutoML denemesini çalıştırma
features_lookups öğesini bir AutoML deney API çağrısına geçirmek için aşağıdaki kodu kullanın.
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)