0
$\begingroup$

I am building a simple recommender system using recsys libraries. http://ocelma.net/software/python-recsys/build/html/quickstart.html

Rather than "ratings data" I simply have implicit feedback of sales (binary 0 or 1) for each items for each user.

Is it as simple as interpreting my rating as "1" for items where a sale has occurred and using SVD as is?

Or will that not work at all?

(Im a relative beginner here).

$\endgroup$
1
$\begingroup$

This will work but it's a very simple model which does not mean that is useless.

I've build a system where the implicit feedback is a weighted sum over 3 types of events: product view, product added to cart and purchase. For instance:

rating = number of views * 1 + number of times added to cart * 2 + number of purchases * 10

In that way I can have much less sparse datasets because we don't just count sales/purchases but other types of events that associates users with products.

| cite | improve this answer | |
$\endgroup$
  • $\begingroup$ Care to explain further what you mean by polynomial over 3 events? $\endgroup$ – Hassan Baig Jul 13 '17 at 18:13
  • 1
    $\begingroup$ Changed to "weighted sum" and added an example. It helped? $\endgroup$ – Felipe Cruz Jul 13 '17 at 19:07
1
$\begingroup$

It's not entirely clear what algorithm does python-recsys implement, and how appropriate it is for the task at hand. It does provide metrics for rank-based evaluation, which suggests that it is at least somewhat applicable to the implicit feedback setting.

However, is is worth noting that the last commit in the python-recsys repository was added in November 2014. In light of this, I would suggest some alternative implementations with are (1) more actively maintained and (2) more suited for the implicit feedback problem:

  1. Implicit (benfred/implicit on Github): a fast Python implementation of a classic weighted alternative least squares algorithm for implicit feedback.
  2. LightFM (lyst/lightfm on Github): a fast Python implementation of a number of learning-to-rank algorithms for implicit feedback.
  3. Spotlight (maciejkula/spotlight): a neural-network toolkit for both implicit and explicit recommender models.

(Disclosure, I am the author of both LightFM and Spotlight.)

You can find a more exhaustive list of recommender libraries at the RecSys Wiki.

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.