SPSS PMML executed on KNIME

Hi Guys, good evening.

I´m leading an Advanced Analytics program in a global company and actually we are studying many technologies to create our environment.

By now we are developing models at SPSS modeler and exporting it to PMML, which lead us to teh question; how do we execute these models?

I proposed using KNIME to execute them, although I´m facing some problems.
Here is the thing; I create a General Regression Model in SPSS and exported to PMML. Then I created a simple flux in KNIME that ran succefully.

Although, now while I´m trying to do the same for a neural network (which is 90% of our existing models) I´m facing problems...

1º Thing is that Knime is requesting each Row as I collumn, for example. If I want to predict Collumn A, then the PMML creates several fields based on this field and the number of rows. For example: If there are 3 lines, then we are going to have A1, A2, A3. Although if I have a hundred lines should I really be requested to create these columns? (hope and imagine I´m bypassing a step)

2º Point is that even if I create all these collumns, I keep geting these errors:

ERROR PMML Predictor       0:3        Only logistic activation function is supported in KNIME MLP.
ERROR PMML Predictor       0:3        Execute failed: org.knime.core.data.def.StringCell cannot be cast to org.knime.core.data.DoubleValue

I might be running into very beginner problems, but it would be nice to receive some direction in order to put KNIME "in production" here

Thanks in advance!

Edson, how are you?

Could you share the image of your workflow? I created a workflow using the same idea as yours and I am facing almost the same problem. I did run a workflow here but there are some inconsistences in our result.

Thanks in advance.

For sure, here it goes.

I can run Gerenal Regression models, but looks like Knime resquests each variable created on the several Regression of the neural network to be in the source file.

Hello Edson,

unfortunately the MLP Predictor of KNIME only supports the logistic activation function and the SPSS modeler seems to generate a model with a different activation function. You can try to use the JPMML Classifier instead, it should support all activation functions.

One thing to note is that the table you are creating predictions for must have exactly the same columns as the table the model was learned on, except for the class column of course. The column names are in the PMML document and if they cannot be found a prediction cannot be created.



Does the requirement "the table you are creating predictions for must have exactly the same columns as the table the model was learned on" also apply to coumns that the Learner did not use, and to columns that were filtered prior to learning? I am getting error messages that suggest this, but it doesn't make sense to me.

this depends again on the PMML. The PMML contains a section called “DataDictionary” that lists all columns that need to be present to make a prediction. Did you create your PMML in KNIME or another software?