Udostępnij za pośrednictwem


Wyświetlanie pochodzenia magazynu funkcji

Podczas rejestrowania modelu przy użyciu programu FeatureEngineeringClient.log_modelfunkcje używane w modelu są automatycznie śledzone i można je wyświetlić na karcie Pochodzenie w Eksploratorze wykazu. 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 funkcji, funkcji lub modelu

Tabele funkcji śledzenia pochodzenia informacji i funkcje używane w modelach są automatycznie przechwytywane podczas wywoływania elementu 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świetlanie pochodzenia tabeli funkcji, 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ę Pochodzenie . Na lewym pasku bocznym są wyświetlane składniki wykazu aparatu Unity, które zostały zarejestrowane przy użyciu tej tabeli, wersji modelu lub funkcji.

    Lineage tab on model page in Catalog Explorer

  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 pochodzenia.

    lineage screen

  4. Aby zamknąć wykres pochodzenia, kliknij close button for lineage graph w prawym górnym rogu.