Part 2 of a Snowflake MLOps series demonstrating how to use Snowflake's Feature Store to version and track feature sets alongside models. Using TPC-H data and XGBoost held constant, the tutorial shows how swapping feature sets (V1: raw line-level columns vs V2: adding P_RETAILPRICE) dramatically changes model performance (R² 0.86 → 0.9999), proving features matter more than algorithms. Covers creating a Feature Store schema, registering entities and feature views, building a spine DataFrame, generating versioned datasets, and traversing ML Lineage to programmatically answer 'which feature set trained this model?' Also discusses static vs. managed (Dynamic Table) feature views and previews upcoming GitOps-for-features content.
Table of contents
Stop losing your best feature setsThe Problem the Feature Store SolvesExample featuresetsStep 0: Create the Feature Store’s schemaStep 1: Session and importsStep 2: Instantiate the Feature StoreStep 3: Register entities (the join keys)Step 4: Define and register the feature viewsGet Mehdi Sidi Boumedine ’s stories in your inboxStep 5: The spine — which rows do we want to train on?Step 6: A reusable experiment runnerStep 7: Run the two feature setsAnswering the hint, level 2: ask the model where its data came fromAuditing the results programmaticallySetting the stage: from notebook cells to promoted pipelines124 Impressions