0

I have a question regarding learning a "final" model for deployment. Assuming my task is a classification one, my workflow during experimentation is as follows.

  1. Get the data: X, y
  2. Split the data: X_tr, y_tr (training), X_tu, y_tu (tuning) and X_te, y_te (testing)
  3. Learn the model M and hyperparameters H on X_tr, y_tr and X_tu, y_tu
  4. Validate the performance P using M on X_te, y_te

Assuming my experimental performance is great, now I am ready to deploy the model. What do I do at this point? Here is what I have thought of.

  1. Learn a new model M_p on all the data X, y using the hyperparameters H from experimentation. Simply deploy M_p.
  2. Learn a new model M_p and hyperparameters H_p using X, y.
Jane Wayne
  • 171
  • 3

1 Answers1

2

If you followed the procedure as described, you can just take the tuned model that performs reasonably well on X_te, y_te. You want a model with good performance that generalizes well regarding unknown data. The assumption here is, that the data in every set is representative for the entirety of available data (and hopefully future data in production), i.e. the data distribution is the same.

The difficult part will be to regularly update your model given your production data [distribution] changes over time and becomes too dissimilar to your previous training data (see Concept Drift).

OliverHennhoefer
  • 328
  • 2
  • 3
  • 11