# How to train further in Predict?

Training further means we can get much smaller loss in the training set,and maybe get the smaller loss in the validation set,so this is useful.

For example

p = Predict[ExampleData[{"MachineLearning", "BostonHomes"}, "TrainingData"]]
PredictorInformation@p


I want to train further,but find nothing about it in the doc,so trying this

First method:

Training more time,no improvement.

p = Predict[ExampleData[{"MachineLearning", "BostonHomes"}, "TrainingData"],TimeGoal -> 20];
PredictorInformation@p


Second method:

Training more data,big improvement.

p = Predict[Flatten[Table[
ExampleData[{"MachineLearning", "BostonHomes"},"TrainingData"],
10], 1], PerformanceGoal -> "Quality"];
PredictorInformation@p


Is any better way to train further in Predict that is using training data more times like the MaxTrainingRounds do in NetTrain?

• Since you use Predict, I don't think it can be trained further as the rule.. – yode Oct 1 '17 at 18:12
• In your 2 screenshots you show the ML methods are different so the loss is probably not directly comparable. Also, why do you think that you should train further? (I have never used the ML capabilities of Mathematica, so I don't know how sensible the default behaviour is.) – sebhofer Oct 10 '17 at 11:45
• @sebhofer I think it can be comparable.Because they are all regression problem.So the loss function will be MSE. – partida Oct 10 '17 at 12:50
• Doesn't look like MSE to me... I suspect the loss for the GradientBoostedTree is a likelihood value, given that it's so tiny. So I'm still not convinced you can compare them. But again, why do you think that you should train further? – sebhofer Oct 10 '17 at 13:32
• @sebhofer because I want to control the epoch of training that is common in other framework such as scikit-learn – partida Oct 10 '17 at 14:17