.NET collaborative filtering framework
Real-time product recommendation system
- Pure C# recommendation engine: port of Apache Mahout "Taste" Recommendation/Collaborative filtering Framework with dependencies (about 800kb of code) and unit test (283 original tests are passed). Does not depend on 3rd party libraries or native applications.
- Mature framework for storage, evaluation, online and offline computation of recommendations
- Supports all major types of production-ready recommenders: User-based, Item-based, SVD-based
- Similarity in users or items: Euclidian distance, Surprise and Coincidence (LLR), Tanimoto coefficient, Pearson correlation and others
- Designed for performance, scalability and flexibility: optimized implementations of in-memory structures and high-precision math functions (inlcuding Mersenne Twister random generator), parallel implementations of SVD-factorizers, computation cache support etc.
- Open source: NReco.Recommender on GitHub (AGPL license)
- Supports both full .NET Framework and .NET Core, can be used as REST microservice from any web application
- MovieLens Example: ASP.NET MVC app for film recommendation by MovieLens dataset
Commercial package includes:
- ADO.NET Data model (for loading preferences data from database) + usage example
- Evaluator: WinForms utility for evaluating parameters of user-based and item-based recommenders
download and pricing
Recommender free pack
Includes MovieLens MVC Example, NO support, AGPL license (non-commercial)
|Download for Free|
Recommender commercial pack
Includes: commercial license for binary DLL usage (without AGPL limitations), ADO.NET Data Model (NReco.Recommender.Data) + usage example, Evaluator utility (with source code), 1 year email support subscription
|$100 - Order Now|
Recommender enterprise source code pack
Includes: commercial license for source code usage (allows code modification/derivative works), 1 year email support subscription and free code updates.
|$500 - Order Now|
quick purchase process
- 1 Choose a package
- 2 Pay online
- 3 Download the package
how to use
- Add reference to NReco.Recommender.dll assembly
OR install NReco.Recommender nuget package
- Configure recommendation engine:
var model = new FileDataModel("data.csv"); var similarity = new LogLikelihoodSimilarity(model); var neighborhood = new NearestNUserNeighborhood(3, similarity, model); var recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); var recommendedItems = recommender.Recommend(userId, 5);
- What's next?
- Explore framework API documentation
- Find most suitable parameters (similarity/neighborhood functions) for concrete dataset with Evaluator utility for getting best recommendation results.
- API Documentation
- Documentation reference for NReco.Recommender classes, interfaces and methods.
- Book: Mahout in Action
- Part 1 is about making recommendations: what is collaborative filtering, how to make recommendations with Mahout (applicable to the C# port). PDF version.
- Collaborative Filtering Recommender Systems
- Survey that covers most aspects of building good recommendation system.
- Amazon.com Recommendations: Item-to-Item Collaborative Filtering
- How amazon.com uses collaborative filering for personalizing their online store for each customer.
typical usage scenario
- Choose what do you want to recommend (this may be anything: products, articles, books, movies, cars, tasks etc)
- Collect or infer users preferences from existing data (SQL database, access logs etc)
- Evaluate and choose appropriate recommendation algorithm and its parameters; NReco.Recommender includes Evaluator GUI utility that simplifies this process.
- Integrate recommendation engine into your application: make automatic predictions about user interests in the real time
Refund policy. If you are not satisfied with your purchase, within 30 days from the purchase date, we will fully refund the cost of your order.
Get Download Link
Please let us know where to send the download link for
Make sure your email address is correct and up-to-date.