Zarządzanie cechami i pochodzenie danych

Databricks Feature Store zarządza dostępem do tabel cech i automatycznie śledzi zależności pochodzenia między tabelami cech, funkcjami i modelami używanymi do tworzenia modelu.

Aby uzyskać informacje na temat monitorowania wydajności obsługiwanego modelu i zmian w danych tabeli funkcji, zobacz Profilowanie danych.

Kontrolowanie dostępu do tabel funkcji

Kontrola dostępu do tabel funkcji w Unity Catalog jest zarządzana przez Unity Catalog. Zobacz uprawnienia Unity Catalog.

Wyświetl tabelę cech, funkcję i pochodzenie modelu

Podczas rejestrowania modelu przy użyciu FeatureEngineeringClient.log_model, cechy używane w modelu są automatycznie śledzone i mogą być wyświetlane w zakładce Pochodzenie Eksploratora katalogu. Oprócz tabel cech, również funkcje zdefiniowane przez użytkownika (UDF) w Pythonie, które są używane do obliczania cech na żądanie, są śledzone.

Jak przechwytywać pochodzenie tabeli cech, funkcji lub modelu

Tabele funkcji śledzenia pochodzenia informacji i funkcje używane w modelach są automatycznie przechwytywane podczas wywoływania log_model. Zobacz poniższy przykładowy kod.

from databricks.feature_engineering import FeatureEngineeringClient, FeatureLookup, FeatureFunction
fe = FeatureEngineeringClient()

features = [
    FeatureLookup(
        table_name = "main.on_demand_demo.restaurant_features",
        feature_names = ["latitude", "longitude"],
        rename_outputs={"latitude": "restaurant_latitude", "longitude": "restaurant_longitude"},
        lookup_key = "restaurant_id",
        timestamp_lookup_key = "ts"
    ),
    FeatureFunction(
        udf_name="main.on_demand_demo.extract_user_latitude",
        output_name="user_latitude",
        input_bindings={"blob": "json_blob"},
    ),
    FeatureFunction(
        udf_name="main.on_demand_demo.extract_user_longitude",
        output_name="user_longitude",
        input_bindings={"blob": "json_blob"},
    ),
    FeatureFunction(
        udf_name="main.on_demand_demo.haversine_distance",
        output_name="distance",
        input_bindings={"x1": "restaurant_longitude", "y1": "restaurant_latitude", "x2": "user_longitude", "y2": "user_latitude"},
    )
]

training_set = fe.create_training_set(
    label_df, feature_lookups=features, label="label", exclude_columns=["restaurant_id", "json_blob", "restaurant_latitude", "restaurant_longitude", "user_latitude", "user_longitude", "ts"]
)

class IsClose(mlflow.pyfunc.PythonModel):
    def predict(self, ctx, inp):
        return (inp['distance'] < 2.5).values

model_name = "fe_packaged_model"
mlflow.set_registry_uri("databricks-uc")

fe.log_model(
    IsClose(),
    model_name,
    flavor=mlflow.pyfunc,
    training_set=training_set,
    registered_model_name=registered_model_name
)

Wyświetl pochodzenie tabeli cech, modelu lub funkcji

Aby wyświetlić pochodzenie tabeli funkcji, modelu lub funkcji, wykonaj następujące kroki:

  1. Przejdź do tabeli, wersji modelu lub strony funkcji w Eksploratorze wykazu.

  2. Wybierz kartę Lineage. Na lewym pasku bocznym są wyświetlane elementy katalogu Unity, które zostały powiązane z tą tabelą, wersją modelu lub funkcją.

    karta Dziedziczenie na stronie modelu w Eksploratorze katalogu

  3. Kliknij pozycję Zobacz wykres pochodzenia. Zostanie wyświetlony wykres pochodzenia. Aby uzyskać szczegółowe informacje na temat przeglądania grafu rodowodu danych, zobacz Rodowód danych w Unity Catalog.

    ekran rodowodu

  4. Aby zamknąć wykres pochodzenia, kliknij przycisk zamknięcia wykresu pochodzenia w prawym górnym rogu.