The ubiquity of recommender systems in the digital ecosystem is thoroughly changing the way web services are used. In the ceaseless stream of information, users are relying on their recommendations to access interesting and useful content. The aim of this thesis is to present two approaches to collaborative filtering based recommender systems. Developing the models, we borrow certain concepts from the field of machine learning. All models are implemented in Python and evaluated on two datasets, one containing the numbers of plays and the other containing users' ratings of content. We propose a way to model continuous ratings with restricted Boltzmann machine and apply an addition to the matrix factorization model that makes it possible to model friendships between users. The results suggest that matrix factorization models work considerably better and that more time should be invested in their further development.