> ML_LIBRARY // SURPRISE_v1.0
Surprise (scikit-surprise)
Nicolas Hug / scikit-surprise developers — scikit-learn compatible Python library for explicit rating recommender systems and matrix factorization.
recommender-systemsv1.1.4BSD-3-Clausequalified
Model Training
Accelerators:
CPU
Distributed Training:No
Model Inference
Inference Accelerators:
CPU
Deployment Targets:server
What It Does
- +Classic explicit collaborative filtering algorithms (SVD, SVD++, NMF, SlopeOne, CoClustering)
- +k-Nearest Neighbors collaborative filtering with user-based and item-based similarity metrics (Cosine, MSD, Pearson)
- +scikit-learn style model evaluation tools (cross-validation, GridSearchCV, RandomizedSearchCV)
- +Standard benchmark dataset loaders (MovieLens, Jester)
What It Does Not Do
- -Natively optimize for implicit binary click/view datasets (use implicit)
- -Utilize multi-GPU hardware acceleration
- -Train deep neural networks or multi-head attention
>Suitable Work Types
- Predicting numerical 1-5 star user review ratings for movies, books, and products
- Teaching and evaluating classical matrix factorization algorithms in academic settings
- Standard baseline benchmarking for recommender research papers
>Unsuitable Work Types
- Large-scale streaming e-commerce clicks with implicit feedback
- Sub-millisecond high-concurrency microservices
Data Residency Implications
Operates strictly in local memory. Zero network calls.
Security Considerations
Permissive BSD-3-Clause license. Safe for commercial deployment.
Operational Profile & Known Limitations
Maturity:mature
Learning Curve:low
Ops Complexity:low
Cost Tier:free-oss
> Known Limitations:
- CPU-bound; fitting on millions of ratings takes significantly longer than GPU-accelerated ALS engines.
Associated Incident Patterns (Incidentpedia)
Enforce safeguards and monitoring to guard against these documented real-world failure modes:
> Primary Evidence & Benchmark Citations
Surprise Documentationofficial-docs • >=1.1.0, <=1.1.x
2026-09-25HIGH
