Sdílet prostřednictvím


Zásady správného řízení a rodokmen funkcí

Tato stránka popisuje možnosti zásad správného řízení a rodokmenu funkcí v katalogu Unity.

Informace o monitorování výkonu obsluhovaného modelu a změn v datech tabulek funkcí najdete v tématu Lakehouse Monitoring.

Řízení přístupu k tabulkám funkcí

Řízení přístupu pro tabulky funkcí v katalogu Unity je spravováno katalogem Unity. Viz oprávnění katalogu Unity.

Zobrazení tabulky funkcí, funkce a rodokmenu modelu

Při protokolování modelu pomocí FeatureEngineeringClient.log_modelse automaticky sledují funkce použité v modelu a lze je zobrazit na kartě Rodokmen v Průzkumníku katalogu. Kromě tabulek funkcí se sledují také uživatelské funkce Pythonu, které se používají k výpočtu funkcí na vyžádání.

Jak zaznamenat původ tabulky vlastností, funkce nebo modelu

Při volání log_modelse automaticky zachytí tabulky funkcí a funkce sledování informací rodokmenu, které se používají v modelech. Podívejte se na následující ukázkový kód.

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
)

Zobrazení rodokmenu tabulky funkcí, modelu nebo funkce

Pokud chcete zobrazit rodokmen tabulky funkcí, modelu nebo funkce, postupujte takto:

  1. V Průzkumníku katalogu přejděte na stránku tabulky, verze modelu nebo funkce.

  2. Vyberte kartu rodokmenu . Levý boční panel zobrazuje součásti katalogu Unity, které byly zaznamenány pomocí této tabulky, verze modelu nebo funkce.

    karta Rodokmen na stránce modelu v Průzkumníku katalogů

  3. Klikněte na Zobrazit graf rodokmenu. Zobrazí se graf rodokmenu. Podrobnosti o zkoumání grafu linie najdete v tématu Zachycení a prozkoumání linie.

    rodokmenu

  4. Pokud chcete graf rodokmenu zavřít, klikněte na tlačítko zavřít pro graf rodokmenu v pravém horním rohu.