On second though, -0 for SGDFactorizer. I'm not an expert on matrix factorization, but I prefer class names that describe the model being built (i.e. the problem being solved) rather than the algorithm. That makes it easier to switch to a smarter algorithm later on.