scikit-learn VS Surprise

Compare scikit-learn vs Surprise and see what are their differences.

Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
scikit-learn Surprise
94 9
64,346 6,740
0.8% 0.5%
9.9 0.0
2 days ago 5 months ago
Python Python
BSD 3-clause "New" or "Revised" License BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

scikit-learn

Posts with mentions or reviews of scikit-learn. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-12-14.
  • The Gorman Paradox: Where Are All the AI-Generated Apps?
    6 projects | news.ycombinator.com | 14 Dec 2025
    Another conspicuous thing is the lack of vibe-coded PRs on mature open source projects. Maybe it's because these projects have erected policies limiting AI contributions, but given the high scores on SWEBench, you'd expect _something_ to come of it?

    And yet in real world use you get stuff like https://github.com/scikit-learn/scikit-learn/pull/32101

  • Open Source Journey
    4 projects | dev.to | 1 Nov 2025
    Start Simple, Build Confidence Project: Scikit-learn After the intense first experience with BEHAVIOR-1K, I needed something more approachable. I went straight to Scikit-learn's good first issue label and found a task that seemed manageable: changing relative imports to absolute imports in Cython files. From this
  • Top 5 GitHub Repositories for Data Science in 2026
    8 projects | dev.to | 20 Sep 2025
    The book introduces the core libraries essential for working with data in Python: particularly IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and related packages Familiarity with Python as a language is assumed; if you need a quick introduction to the language itself, see the free companion project, A…
  • What is the Most Effective AI Tool for App Development Today?
    23 projects | dev.to | 17 Aug 2025
    For apps demanding robust machine learning capabilities, frameworks like TensorFlow provide the scalability and flexibility needed to handle large-scale data and models. These tools are essential for developers building features like recommendation engines or predictive analytics.
  • Your 2025 Roadmap to Becoming an AI Engineer for Free for Vue.js Developers
    12 projects | dev.to | 6 Aug 2025
    Machine learning (ML) teaches computers to learn from data, like predicting user clicks. Start with simple models like regression (predicting numbers) and clustering (grouping data). Deep learning uses neural networks for complex tasks, like image recognition in a Vue.js gallery. Tools like Scikit-learn and PyTorch make it easier.
  • Predicting Tomorrow's Tremors: A Machine Learning Approach to Earthquake Nowcasting in California
    3 projects | dev.to | 3 Jul 2025
    Scikit-learn Documentation: https://scikit-learn.org/
  • 10 Useful Tools and Libraries for Python Developers
    8 projects | dev.to | 29 Mar 2025
    7. Scikit-learn - Machine Learning
  • Must-Know 2025 Developer’s Roadmap and Key Programming Trends
    6 projects | dev.to | 5 Feb 2025
    Python’s Growth in Data Work and AI: Python continues to lead because of its easy-to-read style and the huge number of libraries available for tasks from data work to artificial intelligence. Tools like TensorFlow and PyTorch make it a must-have. Whether you’re experienced or just starting, Python’s clear style makes it a good choice for diving into machine learning. Actionable Tip: If you’re new to Python, try projects that combine data with everyday problems. For example, build a simple recommendation system using Pandas and scikit-learn.
  • 🚀 Launching a High-Performance DistilBERT-Based Sentiment Analysis Model for Steam Reviews 🎮🤖
    6 projects | dev.to | 16 Dec 2024
    scikit-learn (optional): Useful for additional training or evaluation tasks.
  • State of Python 3.13 Performance: Free-Threading
    5 projects | news.ycombinator.com | 5 Nov 2024
    The race condition bugs are typically hidden by different software layers. For instance, we found one that involves OpenBLAS's pthreads-based thread pool management and maybe its scipy bindings:

    - https://github.com/scipy/scipy/issues/21479

    it might be the same as this one that further involves OpenMP code generated by Cython:

    - https://github.com/scikit-learn/scikit-learn/issues/30151

    We haven't managed to write minimal reproducers for either of those but as you can observe, those race conditions can only be triggered when composing many independently developed components.

Surprise

Posts with mentions or reviews of Surprise. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-16.
  • Ask HN: Interesting recent papers in recommender systems?
    1 project | news.ycombinator.com | 3 Sep 2024
    I'm trying my hand at implementing a recommender system for mainly tabular data (think song ratings based on tempo, genre, etc.) using the algorithms in Surprise [1] as a baseline.

    I assume there are plenty of "throw an LLM at it" papers out there, but are there any interesting architectures/results people have found in "plain" recommender systems?

    In particular I'd be interested to see how XAI techniques are applied in user-facing recommenders (e.g. "tempo matters a lot to your song ratings")

    [1] https://surpriselib.com/

  • Recommender Systems: Surprise library installation on m1 mac
    1 project | /r/learnpython | 12 Jan 2023
    Something is wrong with the repo. The compiler fails with this error clang: error: no such file or directory: 'surprise/similarities.c' If you go to the repo, you'll see the file is indeed missing: https://github.com/NicolasHug/Surprise/tree/master/surprise
  • Recommender systems question
    1 project | /r/MLQuestions | 12 Nov 2022
    Scikit-surprise is a useful package and has pretty good documentation to help make the leap from conceptual understanding to code. If you want to understand the various implementations, the package is open source and available on GitHub. I can’t speak for optimal computational efficiency but I think that it’s premature to worry about that while you’re still making the transition from concept to functionality.
  • Surprise – a simple recommender system library for Python
    1 project | /r/Python | 1 Mar 2022
    1 project | /r/recommendersystems | 1 Mar 2022
    1 project | /r/programming | 1 Mar 2022
    1 project | news.ycombinator.com | 1 Mar 2022
  • Dislike button would improve Spotify's recommendations
    4 projects | news.ycombinator.com | 16 Oct 2021
  • Show HN: The Sample – newsletters curated for you with machine learning
    1 project | news.ycombinator.com | 28 Jun 2021
    I'm planning to build a business on this, so probably won't open-source it--but I'm always looking for interesting things to write about! I write a weekly newsletter called Future of Discovery[1]; I might write up some more implementation details there in a week or two. In the mean time, most of the heavy lifting is done by the Surprise python lib[2]. It's pretty easy to play around with, just give it a csv of , , and then you can start making rating predictions. Also fastText[3] is easy to mess around with too. Most of the code I've written just layers things on top of that, e.g. to handle exploration-vs-exploitation as discussed in another thread here.

    Recently I've been factoring out the ML code into a separate recommendation service so it can different kinds of apps (I just barely made this essay recommender system[4] start using it for example).

    I'm happy to chat about recommender systems also if you like, email's in my profile.

    [1] https://findka.com

    [2] http://surpriselib.com/

    [3] https://fasttext.cc/

    [4] https://essays.findka.com

What are some alternatives?

When comparing scikit-learn and Surprise you can also consider the following projects:

Prophet - Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth.

LightFM - A Python implementation of LightFM, a hybrid recommendation algorithm.

tensorflow - An Open Source Machine Learning Framework for Everyone

python-recsys - A python library for implementing a recommender system

Keras - Deep Learning for humans

Crab - Crab is a flexible, fast recommender engine for Python that integrates classic information filtering recommendation algorithms in the world of scientific Python packages (numpy, scipy, matplotlib).

Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured

Did you know that Python is
the 2nd most popular programming language
based on number of references?