I've ran a little ALS recommender system program as found on the Apache Spark website which utilises Mllib. When using a dataset with ratings of 1-5 (I've used the MovieLens dataset) it gives recommendations with predicted ratings of over 5! The highest I've found in my small testing is 7.4. Obviously, I am either misunderstanding what the code is meant to do, or something has gone awry. I have researched into Latent Factor Recommender Systems and was under the impression that the Spark Mlib ALS implementation was based on this one.
Why would it return ratings higher than what is possible? It makes no sense.
Have I misunderstood the algorithm or is the program flawed?