Partager via


Afficher la traçabilité du magasin de caractéristiques

Quand vous journalisez un modèle avec FeatureEngineeringClient.log_model, les caractéristiques utilisées dans le modèle sont automatiquement suivies et présentées sous l’onglet Traçabilité de l’Explorateur de catalogues. En plus des tables de caractéristiques, les fonctions Python définies par l’utilisateur utilisées pour calculer les caractéristiques à la demande sont également suivies.

Comment capturer la traçabilité d’une table de caractéristiques, d’une fonction ou d’un modèle

Les informations de traçabilité qui suivent les tables de caractéristiques et les fonctions utilisées dans les modèles sont automatiquement capturées lorsque vous appelez log_model. Consultez l’exemple de code suivant.

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
)

Afficher la traçabilité d’une table de caractéristiques, d’un modèle ou d’une fonction

Pour afficher la traçabilité d’une table de caractéristiques, d’un modèle ou d’une fonction, effectuez les étapes suivantes :

  1. Accédez à la page de la table, de la version du modèle ou de la fonction dans l’Explorateur de catalogues.

  2. Sélectionnez l’onglet Traçabilité. La barre latérale gauche montre les composants d’Unity Catalog qui ont été journalisés avec cette table, cette version de modèle ou cette fonction.

    Lineage tab on model page in Catalog Explorer

  3. Cliquez sur Afficher le graphique de traçabilité. Le graphique de traçabilité s’affiche. Pour plus d’informations sur l’exploration du graphique de traçabilité, consultez Capturer et explorer la traçabilité.

    lineage screen

  4. Pour fermer le graphique de traçabilité, cliquez sur close button for lineage graph dans le coin supérieur droit.