We currently don't have any high level routines for dealing with the recommendation systems / matrix completion tasks in scikit-learn. However you should be able to run a approximate truncated SVD using sklearn.decomposition.RandomizedPCA on it (once converted as a scipy.sparse.csr_matrix) and extract the first 100 components or so. This can be the base of baseline recommender system as explained in this blog post http://www.igvita.com/2007/01/15/svd-recommendation-system-in-ruby/ Also maybe scipy's arpack might be able to compute the SVD of such a large sparse matrix. You also might want to have a look at https://github.com/muricoca/crab . It has utilities for loading the movielens data and implements some common recommender systems strategies.