功能控管和譜系
此頁面說明 Unity 目錄中功能工程的治理和譜系功能。
如需監視服務模型效能和功能數據表數據變更的相關信息,請參閱 Lakehouse Monitoring。
控制功能數據表的存取
Unity 目錄中功能數據表的訪問控制是由 Unity 目錄所管理。 請參閱 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
)
檢視功能數據表、模型或函式的譜系
若要檢視功能數據表、模型或函式的譜系,請遵循下列步驟:
流覽至 Catalog Explorer 中的表格、模型版本或函式頁面。
選取「歷程」索引標籤。左側邊欄會顯示以此資料表、模型版本或函式記錄的 Unity Catalog 元件。
的模型頁面上
點選 看譜系圖形。 譜系圖形隨即出現。 如需探索譜系圖的詳細資訊,請參閱 擷取和探索譜系。
若要關閉譜系圖形,請按下右上角 譜系圖形的關閉按鈕
。