Aracılığıyla paylaş


Öznitelik yönetimi ve soy

Bu sayfada Unity Kataloğu'nda özellik mühendisliğinin idare ve köken özellikleri açıklanmaktadır.

Sunulan bir modelin performansını ve özellik tablosu verilerinde meydana gelen değişiklikleri izleme hakkında bilgi almak için bkz. Lakehouse İzleme.

Özellik tablolarına erişimi denetleme

Unity Kataloğu'ndaki özellik tabloları için erişim denetimi Unity Kataloğu tarafından yönetilir. Bkz. Unity Kataloğu ayrıcalıkları.

Özellik tablosunu, işlevini ve model kökenini görüntüleme

FeatureEngineeringClient.log_modelkullanarak bir modeli günlüğe kaydettiğinizde, modelde kullanılan özellikler otomatik olarak izlenir ve Katalog Gezgini'nin Soy Ağacı sekmesinde görüntülenebilir. Özellik tablolarına ek olarak, isteğe bağlı özellikleri hesaplamak için kullanılan Python UDF'leri de izlenir.

Özellik tablosunun, işlevinin veya modelinin kökenini yakalama

log_modelçağırdığınızda modellerde kullanılan köken bilgileri izleme özellik tabloları ve işlevleri otomatik olarak yakalanır. Aşağıdaki örnek koda bakın.

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
)

Özellik tablosunun, modelinin veya işlevinin kökenini görüntüleme

Özellik tablosu, modeli veya işlevinin kökenini görüntülemek için şu adımları izleyin:

  1. Katalog Gezgini'nde tablo, model sürümü veya işlev sayfasına gidin.

  2. İzlenebilirlik sekmesini seçin. Sol kenar çubuğunda bu tablo, model sürümü veya işlevle günlüğe kaydedilen Unity Catalog bileşenleri gösterilir.

    Katalog Gezgini'nde model sayfasındaki Köken sekmesi

  3. öğesine tıklayın veköken grafiğini görün. Köken grafiği görüntülenir. Köken grafiğini keşfetme hakkında ayrıntılı bilgi için bkz. kökeni yakalama ve keşfetme.

    köken ekranı

  4. Köken grafiğini kapatmak için sağ üst köşedeki köken grafiği kapat düğmesine tıklayın.