def fit(self, train_input, train): U, sigma, VT = randomized_svd(train, self.nfactor) sigma = scipy.sparse.diags(sigma, 0) self.U = U * sigma self.V = VT.T