Suppose you would like to onboard a ranking model for the following dataset.
Following is an example of how you would construct a
fdl.ModelInfo object for a ranking model.
PROJECT_ID = 'example_project' DATASET_ID = 'expedia_data' MODEL_ID = 'ranking_model' model_task = fdl.ModelTask.RANKING model_group_by = 'srch_id' model_target = 'click_bool' model_outputs = ['score'] raning_top_k = 20 model_features = [ 'price_usd', 'promotion_flag', 'weekday', 'week_of_year', 'hour_time', 'minute_time' model_info = fdl.ModelInfo.from_dataset_info( dataset_info=dataset_info, dataset_id=DATASET_ID, features=model_features, group_by=model_group_by, ranking_top_k=ranking_top_k, target=model_target, outputs=model_outputs, model_task=model_task, ) client.add_model( project_id=PROJECT_ID, dataset_id=DATASET_ID, model_id=MODEL_ID, model_info=model_info )
Using client.add_model() does not provide Fiddler with a model artifact. Onboarding a model in this fashion is a good start for model monitoring, but Fiddler will not be able to offer model explainability features without a model artifact. You can subsequently call client.add_model_surrogate() or client.add_model_artifact() to provide Fiddler with a model artifact. Please see Uploading a Model Artifact for more information.
group_by: when onboarding a ranking model, you must specify a
group_byargument to the
fdl.ModelInfoobject. It will tell Fiddler which column should be used for grouping items so that they may be ranked within a group.
ranking_top_k: an optional parameter unique to ranking model. Default to
50. It's an int representing the top k outputs to take into consideration when computing performance metrics MAP and NDCG.
When onboarding a graded ranking model with categorical target,
categorical_target_class_detailis a required argument for
fdl.ModelInfoobject. For example:
Updated about 2 months ago