特征治理和世系

本页介绍 Unity Catalog 中特征工程的治理和世系功能。

控制对特征表的访问

Unity Catalog 中特征表的访问控制由 Unity Catalog 管理。 请参阅Unity Catalog 特权

查看特征表、函数和模型世系

使用 FeatureEngineeringClient.log_model 记录模型时,系统将自动跟踪模型中使用的特征,并且可以在目录资源管理器的世系选项卡中查看。 除了特征表,系统还会跟踪用于计算按需特征的 Python UDF。

如何捕获特征表、函数或模型的世系

调用 log_model 时,系统将自动捕获模型中使用的世系信息跟踪特征表和函数。 请参阅以下示例代码。

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
)

查看特征表、模型或函数的世系

若要查看特征表、模型或函数的世系,请执行以下步骤:

  1. 导航到目录资源管理器中的表、模型版本或函数页。

  2. 选择世系选项卡。左侧栏显示使用此表、模型版本或函数记录的 Unity 目录组件。

    目录资源管理器中模型页上的世系选项卡

  3. 单击查看世系图。 将显示世系图。 有关浏览世系图的详细信息,请参阅捕获和浏览世系

    世系屏幕

  4. 若要关闭世系图,请单击右上角的 世系图的关闭按钮