Delen via


Herkomst van functiearchief weergeven

Wanneer u een model aanmeldt met behulp FeatureEngineeringClient.log_modelvan, worden de functies die in het model worden gebruikt, automatisch bijgehouden en kunnen ze worden weergegeven op het tabblad Herkomst van Catalog Explorer. Naast functietabellen worden Python UDF's die worden gebruikt voor het berekenen van functies op aanvraag ook bijgehouden.

Herkomst van een functietabel, functie of model vastleggen

Functietabellen en functies voor het bijhouden van herkomstgegevens die in modellen worden gebruikt, worden automatisch vastgelegd wanneer u aanroept log_model. Zie de volgende voorbeeldcode.

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
)

De herkomst van een functietabel, model of functie weergeven

Voer de volgende stappen uit om de herkomst van een functietabel, -model of -functie weer te geven:

  1. Navigeer naar de tabel, modelversie of functiepagina in Catalog Explorer.

  2. Selecteer het tabblad Herkomst . In de linkerzijbalk ziet u Unity Catalog-onderdelen die zijn geregistreerd met deze tabel, modelversie of functie.

    Lineage tab on model page in Catalog Explorer

  3. Klik op Herkomstgrafiek weergeven. De herkomstgrafiek wordt weergegeven. Zie Capture en verken herkomst voor meer informatie over het verkennen van de herkomstgrafiek.

    lineage screen

  4. Als u de herkomstgrafiek wilt sluiten, klikt u close button for lineage graph in de rechterbovenhoek.