Ö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_model
kullanarak 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:
Katalog Gezgini'nde tablo, model sürümü veya işlev sayfasına gidin.
İ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
öğ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 grafiğini kapatmak için sağ üst köşedeki köken grafiği
kapat düğmesine tıklayın.