Updated the code and ipython notebook with more graphs to explain the process and a set X, y split for consistency.