Gobernanza y linaje de características.
En esta página se describen las funcionalidades de gobernanza y linaje de la ingeniería de características en el catálogo de Unity.
Para obtener información sobre cómo supervisar el rendimiento de un modelo servido y los cambios en los datos de la tabla de características, consulte Lakehouse Monitoring.
Control del acceso a las tablas de características
El control de acceso a tablas de características en el catálogo de Unity se administra mediante el catálogo de Unity. Consulte Privilegios del catálogo de Unity.
Visualización de la tabla de características, la función y el linaje del modelo
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 obtener 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.