diff --git a/lenskit/lenskit/algorithms/svd.py b/lenskit/lenskit/algorithms/svd.py index a28365375..c39c677ad 100644 --- a/lenskit/lenskit/algorithms/svd.py +++ b/lenskit/lenskit/algorithms/svd.py @@ -60,8 +60,8 @@ def fit(self, ratings, **kwargs): r_mat, users, items = sparse_ratings( ratings, layout="coo", users=u_bias.index, items=i_bias.index ) - # global - r_mat.data -= g_bias + # copy the data and start subtracting + r_mat.data = r_mat.data - g_bias r_mat.data -= i_bias.values[r_mat.col] r_mat.data -= u_bias.values[r_mat.row] r_mat = r_mat.tocsr()