NicolasHug/Surprise
A Python scikit for building and analyzing recommender systems observed · 2026-08-28
Health v2 · maintenance only
70/100
- Activity 85
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 3601
- days_rel: n/a
- days_push: 95
- n_releases_24m: 0
Adoption not part of the score
6808 stars · 1051 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
Surprise is a Python scikit for building and analyzing recommender systems that work with explicit rating data. It provides ready-to-use prediction algorithms (SVD, SVD++, NMF, neighborhood methods), built-in datasets, similarity measures, and cross-validation tools inspired by scikit-learn.
Use cases
- build a movie recommendation engine with collaborative filtering
- run cross-validation on recommender algorithms with RMSE and MAE metrics
- train an SVD matrix factorization model on rating data
- benchmark and compare different recommendation algorithms
- prototype a custom rating prediction algorithm
- load and preprocess Movielens or custom explicit rating datasets
When to choose
- you work with explicit rating data and want well-documented, reproducible experiments
- you need classic collaborative filtering algorithms like SVD, KNN, or NMF out of the box
- you want scikit-learn-style cross-validation and grid search for recommenders
When to avoid
- your data is implicit feedback (clicks, views) rather than explicit ratings
- you need content-based or hybrid recommendation with item metadata
- you need a production-scale distributed recommender system
Facets
library · maturity stable
machine-learning data-science benchmarking machine-learning data-science python cross-platform recommender-systems collaborative-filtering matrix-factorization svd explicit-ratings scikit algorithms
2 sources
- readme: https://github.com/NicolasHug/Surprise · fetched 2026-08-28 · 1dc64d649a3e
- homepage: http://surpriselib.com · fetched 2026-08-29 · f88f9f93b4bd
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| NicolasHug/Surprise | main | 70 |
For agents
markdown · JSON · MCP: product_card(name="NicolasHug/Surprise")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem