Condividi tramite


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 , le funzionalità usate nel modello vengono rilevate automaticamente e possono essere visualizzate nella scheda derivazione di Esplora cataloghi . Oltre alle tabelle delle funzionalità, vengono monitorate anche le funzioni definite dall'utente Python usate per calcolare le funzionalità su richiesta.

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:

  1. Passare alla tabella, alla versione del modello o alla pagina della funzione in Esplora cataloghi.

  2. Selezionare la scheda Lineage. La barra laterale sinistra mostra i componenti del Catalogo Unity registrati in questa tabella, versione del modello o funzione.

    scheda Lineage nella pagina del modello in Catalog Explorer

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

    schermata di linea

  4. Per chiudere il grafico di derivazione, fare clic pulsante chiudi per il grafico di derivazione nell'angolo superiore destro.