Governance e provenienza delle funzionalità
Questa pagina descrive le funzionalità di governance e lineage del feature engineering in Unity Catalog.
Per informazioni sul monitoraggio delle prestazioni di un modello servito e sulle modifiche apportate ai dati della tabella delle funzionalità, vedere Lakehouse Monitoring.
Controllare l'accesso alle tabelle delle funzionalità
Il controllo di accesso per le tabelle delle feature in Unity Catalog è gestito da Unity Catalog. Vedere i privilegi del catalogo Unity.
Visualizzare la tabella delle funzionalità, la funzione e la derivazione del modello
Quando si registra un modello usando
Come acquisire la derivazione di una tabella delle funzionalità, una funzione o un modello
Le tabelle e le funzioni della funzionalità di tracciamento delle informazioni di derivazione usate nei modelli vengono acquisite automaticamente quando si chiama log_model
. Vedere il codice di esempio seguente.
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
)
Visualizzare la derivazione di una tabella delle funzionalità, un modello o una funzione
Per visualizzare la derivazione di una tabella delle funzionalità, un modello o una funzione, seguire questa procedura:
Passare alla tabella, alla versione del modello o alla pagina della funzione in Esplora cataloghi.
Selezionare la scheda Lineage. La barra laterale sinistra mostra i componenti del Catalogo Unity registrati in questa tabella, versione del modello o funzione.
Fare clic su Vedere il grafico di derivazione. Viene visualizzato il grafico di derivazione. Per informazioni dettagliate sull'esplorazione del grafo di derivazione, vedere la sezione Acquisizione ed esplorazione della derivazione.
Per chiudere il grafico di derivazione, fare clic nell'angolo superiore destro.