Visualización del linaje del almacén de características
Al registrar un modelo mediante FeatureEngineeringClient.log_model
, se realiza un seguimiento automático de las características usadas en el modelo y se pueden ver en la pestaña Linaje del Explorador de catálogos. Además de las tablas de características, también se realiza un seguimiento de las UDF de Python que se usan para calcular las características a petición.
Cómo capturar el linaje de una tabla de características, una función o un modelo
Las tablas y funciones de seguimiento de información de linaje usadas en los modelos se capturan automáticamente al llamar a log_model
. Consulte el código de ejemplo siguiente.
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
)
Visualización del linaje de una tabla de características, un modelo o una función
Para ver el linaje de una tabla de características, un modelo o una función, siga estos pasos:
Vaya a la tabla, la versión del modelo o la página de función en el Explorador de catálogos.
Seleccione la pestaña Linaje. La barra lateral izquierda muestra los componentes de Unity Catalog que se registraron con esta tabla, versión del modelo o función.
Haga clic en Ver gráfico de linaje. Aparece el gráfico de linaje. Para más información sobre cómo explorar el gráfico de linaje, consulte Captura y exploración del linaje.
Para cerrar el gráfico de linaje, haga clic en en la esquina superior derecha.