Notebooks¶
Explanatory examples live in notebooks/ as marimo notebooks, with
their own dependency group. Read them in order:
01_intro_to_recommendations.py: feedback types, collaborative filtering, metrics, baselines and evaluation;02_model_selection_and_tuning.py:GridSearchCV,AutoTune,Studyand time-aware splits;03_candidates_and_ranking.py: two-stage recommenders withCascade, and cold start withSwitch;04_production.py: pickled models,partial_fit, request-time controls and vector indexes;05_sequential_and_neural.py: next-item prediction withskrecsys.nn(needs--extra nn);06_time_aware_recommendation.py: time-based evaluation and tuning, recency weighting, point-in-time features withCascade(time=True), and bitemporal data;07_inspecting_recommendations.py: tracing a pipeline withtrace, explaining served and missing items withexplain, and finding the stage that loses relevant items.08_query_context.py: request-time context infitandrecommend, and aCascaderanker that learns from it withJoinDynamicFeatures("item-context").
Each notebook ends with self-check questions.
uv run --group notebooks marimo edit notebooks/01_intro_to_recommendations.py # open in the browser
uv run --group notebooks python notebooks/01_intro_to_recommendations.py # run as a script
uv run --group notebooks --extra nn marimo edit notebooks/05_sequential_and_neural.py