ModelSpec

API reference for ModelSpec

ModelSpec

Defines how model columns are categorized and used along with model task configuration.

ModelSpec provides a comprehensive specification of how different columns in your model’s data should be interpreted and used. It categorizes columns into inputs, outputs, targets, decisions, and metadata, and allows for custom feature definitions that enhance model monitoring and analysis capabilities.

This specification is crucial for Fiddler to understand your model’s structure, enabling proper monitoring, drift detection, bias analysis, and explainability features. It acts as the contract between your model and Fiddler’s monitoring infrastructure.

Examples

Creating a basic model spec for classification:

spec = ModelSpec(
    inputs=[“age”, “income”, “credit_score”],
    outputs=[“prediction”, “probability”],
    targets=[“approved”],
    metadata=[“customer_id”, “timestamp”]

)

Creating a spec with custom features:

from fiddler.schemas.custom_features import Multivariate, TextEmbedding

spec = ModelSpec(
inputs=[“user_clicks”, “session_time”, “review_text_embedding”],
outputs=[“recommendation_score”],
targets=[“user_rating”],
metadata=[“user_id”, “session_id”],
custom_features=[
  
    Multivariate(
    name=”user_behavior”,
    columns=[“user_clicks”, “session_time”],
    n_clusters=5
  
),
    TextEmbedding(
  
    name=”review_clusters”,
    column=”review_text_embedding”,
    source_column=”review_text”,
    n_clusters=8
  
)
  
]

)

Creating a spec for ranking models:

ranking_spec = ModelSpec(
    inputs=[“query_features”, “doc_features”, “relevance_score”],
    outputs=[“ranking_score”],
    targets=[“click_through”],
    decisions=[“final_ranking”],
    metadata=[“query_id”, “doc_id”]

)

Schema version

Feature columns

Prediction columns

Label columns

Decisions columns

Metadata columns

Custom feature definitions

remove_column()

Remove a column name from spec if it exists.

Parameters

column_name (str) Return type: None

Last updated

Was this helpful?