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
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
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().