Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Basic recommendation engine algorithm

I'm looking to write a basic recommender system in Objective-C and I'm looking for a basic algorithm for the job. Unfortunately off-the-shelf systems are off the table since none seem to be for Objective-C.

I'm going to have a database of items, each with tags (think movies with tags like "horror", "action", etc). Each item would have ~5 or so of these tags. When a user first uses the app their profile will be primed based on their input to a series of questions, associating some tags with their profile.

As the user continues to use the system and rate various items (on a hate/like/love basis) I'd like to adjust the weighting of the recommended tags based on that feedback. I'd also like to take in a few other properties of their ratings as their profile grows, like for example "the 80s" if this dealt with movies. Or maybe director, sticking with the movie theme.

I'm opting to avoid the normal (or at least popular) recommender systems where it looks for similar users to generate recommendations. This is going to have a large item database and minimal users to start.

Can anyone recommend a good starting point for an algorithm like this, I'd hate to reinvent the wheel, and there's a lot out there?

like image 507
Parrots Avatar asked May 11 '12 14:05

Parrots


People also ask

What algorithms do recommendation engines use?

This implies that recommender systems in this category will rely on machine learning algorithms (such as clustering models, K-nearest neighbors, matrix factorization, and Bayesian networks) to survey customers' perception of products via user rating, understand who likes what, and offer items already bought by other ...

What is a recommended algorithm?

In a very general way, recommender systems are algorithms aimed at suggesting relevant items to users (items being movies to watch, text to read, products to buy or anything else depending on industries).

What are the three main types of recommendation engines?

The three main types of recommendation engines include collaborative filtering, content-based filtering, and hybrid filtering. Recommenders improve revenue by encouraging cross-selling, suggesting product alternatives, and drawing attention to items abandoned in a digital shopping cart.

What are recommendation algorithms with examples?

Netflix, YouTube, Tinder, and Amazon are all examples of recommender systems in use. The systems entice users with relevant suggestions based on the choices they make. Recommender systems can also enhance experiences for: News Websites.


1 Answers

could you please refer the python-recsys: https://github.com/ocelma/python-recsys, this software use SVD algorithm, I think it is a base algorithm but effective enough. The required library is numpy and scipy, which are written in C, and wrapped by Python. I think it is easy to compile and port to objective-c

like image 152
Hoai-Thu Vuong Avatar answered Oct 04 '22 02:10

Hoai-Thu Vuong