Udostępnij za pośrednictwem


Zarządzanie cechami i pochodzenie danych

Na tej stronie opisano możliwości zarządzania i ścieżki pochodzenia w zakresie inżynierii cech w katalogu Unity.

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

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 eksplorowania grafu rodowodu, patrz Wyświetlanie pochodzenia danych przy użyciu Unity Catalogu.

    ekran rodowodu

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