Learning to Recommend Using Non-Uniform Data