Condividi tramite


Visualizzare la derivazione dell'archivio funzionalità

Quando si registra un modello usando FeatureEngineeringClient.log_model, 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 di rilevamento 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 Derivazione . La barra laterale sinistra mostra i componenti del catalogo Unity registrati con questa tabella, la versione del modello o la funzione.

    Lineage tab on model page in Catalog Explorer

  3. Fare clic su Visualizza grafico di derivazione. Viene visualizzato il grafico di derivazione. Per informazioni dettagliate sull'esplorazione del grafico di derivazione, vedere Acquisire ed esplorare la derivazione.

    lineage screen

  4. Per chiudere il grafico di derivazione, fare clic close button for lineage graph nell'angolo superiore destro.