There is a bug in the Surprise SVD notebook. See cells 4 and 5.
In cell 5, train is assigned to the full data Movielens100K data set. So, if you do train.n_ratings you get 100K. Then SVD is trained on the whole data set and hence the results are too good, because the test set is a subset of the training set.
Great catch Andreas!
Most helpful comment
There is a bug in the Surprise SVD notebook. See cells 4 and 5.
In cell 5,
trainis assigned to the full data Movielens100K data set. So, if you dotrain.n_ratingsyou get 100K. Then SVD is trained on the whole data set and hence the results are too good, because the test set is a subset of the training set.