Should we use regression or classification for recommendation systems? Lets say that based on some user available ratings i want to predict the ratings of unrated products for some specific user. I totally understand the fact that classifier models are for categorical data and regression models for continuous but in that case should we treat ratings as categorical values? I am searching in bibliography papers and some use classification to predict ratings and others regression.
 A: TL;DR: Use (ordinal) regression. Your problem lies somewhere between standard regression and classification, but doing standard regression is less "wrong" than doing classification.
In detail: I assume that the ratings are integers, like $\{1, 2, 3, 4, 5\}$, and that one extreme (e.g. 1) means "bad" and the other (5) "excellent". I.e. there is an order in the ratings: 5 is better than 4, 4 is better than 3 etc. Variables of that kind are called "ordinal". They differ from continuous variables in that the difference between values cannot be translated to difference in the underlying property. For example, you cannot say that the product with rating 5 is exactly as much better from the product with rating 4, as is the product with rating 4 from the product with rating 3, etc.
Applying classification here would lead to a substantial loss of information and poor performance. A standard classifier wouldn't know that ratings 4 and 5 are more similar than ratings 1 and 5. For a classifier, they are either identical or different.
A common approach to solving such problems is to assume a latent continuous variable which represents the true product quality, and the rating as an observable, rounded, and possibly non-linear function of that true quality. Something like in the figure below:

There are methods to deal explicitly with such problems, like the proportional odds model, neural networks for ordinal regression, or support vector machines. If this sounds too complicated, using ordinary regression, while suboptimal, is still better than classification.
For available software libraries, you may consult this (somewhat old) answer on StackOverflow.
