Split out predictor.learn into learn and predict