When creating a training dataset using the Databricks Feature Store, what does fs.create_training_set() require as a mandatory input alongside the feature lookups?
Select an answer to reveal the explanation.
Short Explanation and Infographic
The spine is your anchor — it's the list of entities and labels you want to train on. The Feature Store then looks up and joins all the feature columns for those entities.
Full explanation below image
Full Explanation
fs.create_training_set(df=spine_df, feature_lookups=[...], label='churn', exclude_columns=['raw_date']) has two core inputs: 1) The spine DataFrame (df) — contains the entity primary keys (e.g., user_id), a timestamp for point-in-time lookup, and the label column (e.g., churn=1/0). It defines which entities and time points you want features for. 2) Feature lookups (FeatureLookup objects) — specify which feature table, which features, and which key to join on. The Feature Store performs a point-in-time join between the spine's timestamps and the feature table's history, preventing data leakage. The resulting TrainingSet object is then passed to fs.load_df(training_set) to get the final joined DataFrame. Pre-trained models, MLflow experiment IDs, and SQL filter conditions are not inputs to create_training_set().