Apply models in production, which option to choose?

Our team made some models in Knime server lite for a customer and now we are on the point that we need to deliver the models to the customers so that they can apply them on new unseen data. We want to offer the customer a solution where he is not dependent of us. The models in Knime read data from a Postgress database, do much preprocessing where f.i. derived variables are made. The results have to be written to the Postgress database again. I see three options to cover this:

1. Remote execution of a workflow. The workflow in Knime remains the same, but the remote functionality is used to read and write the data from and to the Postgress tables.

2. Using PMML in Knime: the models (and workflows?) are wrapped in PMML language as described in and the model is executed on the new data

3. Exporting the Knime workflows and models to JPMML and implementing the functionality outside Knime in the Postgress environment

Option 1 seems to me the easiest solution.  Do the other options have advantages?

Additional question: I just found out that PMML is not available for the model that I use (gradient boosted tree and random forest tree). So this excludes the PMML options?

Hi Taita,

Since the Gradient Boosted Tree/ Random Forest Learner nodes don't output PMML, you can do this by first using a Model to Cell node and then a writer node (either to table or to database, this is up to you).

Your customer can then read the table, use a Cell to Model node, and then connect it to a predictor node.

Hope that helps!