3

I am really looking forward to implement bayesian average rating system for a site I'm developing. I have faced a problem though - all of the examples I can find on the net, are for multi-value rating systems, with the smallest being binary - likes / dislikes (Apply Bayesian average in a NON 5-star rating system).

I cannot seem to understand how I could apply binary bayesian to a unary rating system.

I have no dislikes, I have only likes.

Given the algorithm:

  (n / (n + C)) * j + (C / (n + C)) * m
  • C is the average number of ratings an item receives
  • m is the average rating across all items
  • n is the number of ratings the current item
  • j is the average rating for the current item

I get stuck on m - the average rating accross all items. The average rating is 1 for everything.

How do I tweak this formula for unary rating system?

Maybe there are other, better suited equivalents of bayesian for such task?

Community
  • 1
  • 1
tomsseisums
  • 13,168
  • 19
  • 83
  • 145
  • 1
    Just an idea, likely not the best: consider the users who *didn't* like an item as disliking it. So you have `number_of_users - item_likes` dislikes. – IVlad Feb 09 '15 at 22:03

1 Answers1

1

Number of likes is a one-dimensional input, so it's hard to do anything interesting without another input. Two possibilities are how old the item is and how many users have viewed it.

David Eisenstat
  • 64,237
  • 7
  • 60
  • 120
  • I would like to implement this system as well, weighted by number of views. Is there an example of the math or equation one might use when considering total views, or maybe the age of the post? – aviemet Nov 08 '15 at 19:58