We've gone from machine learning algorithms like linear regression to difficult to wield tools like random forests, to building our own Gaussian Naïve Bayes tool. We've built a custom platform that helps us identify the models that perform the best, and choose the best one when it spins and washes everything.
We've also taken a very pragmatic approach to TDD. There are better things that we could be doing, but these will improve over time. The most important tip to keep in mind is to ask yourself why your tests are getting in the way (when they do), and how you can make your tests run faster whenever they start to run too slow.