PNN Rules


I wish to understand the Rules learnt by the PNN learner node, which I have attached hereby.

Also, I must understand the way of calculating the "Winner" column that the PNN Predictor node uses, especially the weights that are presented for the values 0 and 1.

The training data contains Col1, Col2, Col3 and Col4, and as target values the Conclusion(or CCL) column, containing the values 0 or 1.

The test data contains values that differ from those, as you can see attached in pnnPredictor.png. The predictor calculates the corresponding target values for each test data point according to the rules you may see in pnnLearner.png. Unfortunately, I do not understand the whole of it, even though I digged into mathematical theories of Neural Networks.

I need to understand this, because I need to generate test data according to these rules. Is there already a node that does it? or a way of doing it easily?Because I can't find it in KNIME.

Otherwise, I would have to develop some workflow for this, but first I must get how these calculations work.

I would be so grateful!


The article Constructive Training of Probabilistic Neural Networks describes the underlying mathematical details of this PNN Learner / Predictor. The weights are the number of patterns covered by a rule represented by a single row in the table. The winner column contains the class with the highest probablity, that is, the rule with the best fit. If you need a way to automatically generate data, I would recommend having a look into the Data Generation extensions.

Hello Gabriel,

Thanks a lot for the tip. Weird I didn't find that earlier.

Concerning the Modular data generator pdf and the example workflows, It found the Conditional Label Assgner and the Gaussian Probabilistic Assigner very useful indeed, to generate data within a cluster, according to means and standard deviations. I wish to do it on combinations of values actually, i.e. on multidimensional clusters. Maybe with cluster centers and means of those combinations.

Also, the "One Rule Inserter" node proves useful, but unfortunately only for nominal values, which makes it meaningless for me.

Is there anything of the same kind for numeric values?

Thank you again.


Hi Heej,

no I'm sorry there is nothing similar for numeric values.

However, I think you could give the Rule Engine node a try. 

Best, Iris