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 funkcji są również śledzone funkcje zdefiniowane przez użytkownika języka Python, które są używane do obliczania funkcji na żądanie.

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 pochodzenia, zobacz Przechwytywanie i eksplorowanie grafu pochodzenia.

    ekran rodowodu

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