Collaborative filtering (CF) is one of the most successful techniques in recommender systems. By utilizing co-rated items of pairwise users for similarity measurements, traditional CF uses a weighted summation to predict unknown ratings based on the available ones. However, in practice, the rating matrix is too sparse to find sufficiently many co-rated items, thus leading to inaccurate predictions. To address the case of sparse data, we propose an iterative CF that updates the similarity and rating matrix. The improved CF incrementally selects reliable subsets of missing ratings based on an adaptive parameter and therefore produces a more credible prediction based on similarity. Experimental results on the MovieLens dataset show that our algorithm significantly outperforms traditional CF, Default Voting, and SVD when the data is 1% sparse. The results also show that in the dense data case our algorithm performs as well as state of art methods.