Looking at the data generator it doesn't appear to do 100% of what we need here because I can't see how to simply create 2 separable distributions (what the +/- DIST is doing for us), sometimes the data works other times the classifier makes a lot of mistakes because the data isn't separable (I was just using generate_gaussians). 

Obviously there are ways to use this module to generate the data and make it separable I'm just not sure its actually better than what we currently have, as in it would be roughly the same amount of code. Maybe I'm just not using the DataGenerator class properly yet? Or we could add this particular data generation functionality to the DataGenerator class.