Teilen über


Featuregovernance und -herkunft

Auf dieser Seite werden die Governance- und Lineage-Funktionen des Feature Engineerings im Unity-Katalog beschrieben.

Informationen zur Überwachung der Leistung eines bereitgestellten Modells und Änderungen in Featuretabellendaten finden Sie unter "Datenprofilerstellung".

Steuern des Zugriffs auf Featuretabellen

Die Zugriffssteuerung für Featuretabellen im Unity-Katalog wird vom Unity-Katalog verwaltet. Weitere Informationen finden Sie unter Unity Catalog-Berechtigungen.

Anzeigen von Featuretabellen, Funktionen und Modellherkunft

Wenn Sie ein Modell mit FeatureEngineeringClient.log_modelprotokollieren, werden die im Modell verwendeten Features automatisch nachverfolgt und können im Katalog-Explorer auf der Registerkarte Lineage angezeigt werden. Zusätzlich zu Featuretabellen werden Python-UDFs, die zum Berechnen von On-Demand-Features verwendet werden, ebenfalls nachverfolgt.

So erfassen Sie die Lineage einer Featuretabelle, -Funktion oder eines Modells

Datenherkunftsinformationen zur Nachverfolgung von Featuretabellen und in Modellen verwendeten Funkionen werden automatisch erfasst, wenn Sie log_model aufrufen. Sehen Sie sich den folgenden Beispielcode an.

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
)

Abstammung einer Featuretabelle, eines Modells oder einer Funktion anzeigen

Führen Sie die folgenden Schritte aus, um die Linien einer Featuretabelle, eines Modells oder einer Funktion anzuzeigen:

  1. Navigieren Sie im Katalog-Explorer zur Tabelle, Modellversion oder Funktionsseite.

  2. Wählen Sie die Registerkarte Linie aus. Die linke Randleiste zeigt Unity-Katalogkomponenten an, die mit dieser Tabelle, Modellversion oder Funktion protokolliert wurden.

    Registerkarte „Datenherkunft“ auf der Modellseite im Catalog-Explorer

  3. Klicken Sie auf Siehe Liniendiagramm. Das Liniendiagramm wird angezeigt. Ausführliche Informationen zum Untersuchen des Liniendiagramms finden Sie unter Anzeigen der Datenlinie mithilfe des Unity-Katalogs.

    Anzeige der Datenherkunft

  4. Klicken Sie zum Schließen des Abstammungsgraphen auf die Schließen-Schaltfläche für Abstammungsgraphen in der oberen rechten Ecke.