1. A method for determining unknowns in a rating matrix using a computing device, the method comprising: forming a rating matrix, wherein each matrix element corresponds to a known favorable user rating of an item or an unknown user rating of an item; determining a weight matrix configured to assign a weight value to each of the unknown user ratings; sampling the rating matrix to generate an ensemble of training matrices; applying weighted maximum-margin matrix factorization based on the weight matrix to each training matrix to obtain corresponding sub-rating matrices; and combining the sub-rating matrices to obtain an approximate rating matrix that can be used to recommend items to each user based on a rank ordering of the matrix elements associated with each user.