Gouvernance des fonctionnalités et traçabilité
Databricks Magasin de fonctionnalités régit l'accès aux tables de fonctionnalités et suit automatiquement la lignée entre les tables de fonctionnalités, les fonctions et les modèles utilisés pour construire un modèle.
Pour des informations sur le monitoring des performances d'un modèle servi et les changements dans les données des tables de fonctionnalités, voir le profilage des données.
Contrôler l'accès aux tables de fonctionnalités
Le contrôle d’accès pour les tables de fonctionnalités dans Unity Catalog est géré par Unity Catalog. Voir les privilèges Unity Catalog.
Afficher le lignage des tables de fonctionnalités, des fonctions et des modèles
Lorsque vous enregistrez un modèle à FeatureEngineeringClient.log_model l'aide de, les fonctionnalités utilisées dans le modèle sont automatiquement suivies et peuvent être consultées dans l'onglet **Lineage** de l'Explorateur de catalogues. En plus des tables de fonctionnalités, les UDF Python qui sont utilisées pour compute les fonctionnalités à 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é des tables de fonctionnalités et des fonctions utilisées dans les modèles sont automatiquement capturées lorsque vous appelez log_model. Voir 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 lignée d'une table de fonctionnalités, d'un modèle ou d'une fonction.
Pour afficher la traçabilité d'une table de fonctionnalités, d'un modèle ou d'une fonction, suivez ces étapes :
-
Accédez à la page de la table, de la version du modèle ou de la fonction dans l'Explorateur de catalogues.
-
Sélectionnez l'onglet Traçabilité . La barre latérale gauche affiche les composants Unity Catalog qui ont été enregistrés avec cette table, version de modèle ou fonction.

-
Cliquez sur Voir le graphe de traçabilité . Le graphe de traçabilité s'affiche. Pour plus de détails sur l'exploration du graphe de traçabilité, consultez Lineage in Unity Catalog.

-
Pour fermer le graphe de traçabilité, cliquez sur
dans le coin supérieur droit.