Double to Nominal conversion

I have the output of a SOM (own application) in which all of the observations are have Row and Column properties that refer to their locations in the 2D SOM. The observations also have other properties that could be used for coloring, etc. My goal is to visualize the SOM and the contents of each cell using the Scatter Plot node.

So, I have data that looks more or less like this:

Observation, SOMRow, SOMColumn, Property1, Property2, ...

I can easily get this into the 2D Scatter Plot, however the SOMRow and SOMColumn properties come in a Double values, thus the jitter function will not work. (I need the jitter to be able to see the number and type of observation in each node. If I use the Color Manager I can get an idea for how different classes co-localize in the map.) I can use Number To String to get them to behave as Nominal values, but this causes them to be in alphabetically sorted order or order of occurence. I can use Numeric Binner, but I have to specify the bins and the names of the bins for each one. In this case it isn't too bad as I have a 25x25 map, but I want to extend this to a 100x100 map in which it will not be practical to manually specify each bin/name.

Another useful visualization would be to color or size each point on the map by the number of observations in that location. In effect this would act like a 2D histogram or a contour map giving me a sense for the density around specific locations. You could really extend this even further, but I'll hold off on that for now. 8^)

Any advice is greatly appreciated.


Hi KirkD,

we already planned to release a SOM node but not with KNIME 2.0.
This node will provide a view on the trained SOM which shows some kind of a u-matrix (showing the average distances of a som cell according to its surrounding cells, a vector location map (showing the number of wins of each som cell) and a weight map (showing the values of each som cell). The maps will provide views showing the values itself and views showing colors computed related to these values.

If you can't wait till this node will be released i recommend to build your own view for your node. The scatterplot can be used in a way you desrcibed before to display some properties of the som but as you mentioned, this can become uncomfortable since the properties have to be preprocessed (binned, ...). An alternative would be to preproces the properties in your som node in a way that you need no binning etc. afterwards. Personally i think the best way is to build your own view, since you can (pre)process the som properties exactly in the way you need them to be, furthermore you can implement your own highlighting mechanism, wich could enable i.e. when a som cell is seleted and highlighted the highlighting of the related training data.
I hope i could help you.

- Kilian

I'm glad to hear that an SOM node and SOM viewer are on the list of plans, but disappointed that they will not be available for some time. I think they would be VERY useful. As for building my own viewer, that will depend upon me having time to do so, as you can imagine.

Thanks for the information, though.

I'm trying to teach myself how to use the WEKA3.7 SOM on the Iris data set (unless there is a more relevant one).  I looks like the output port needs to plug into WekaCluster assigner... but from there I can't find the viewer for the u-matrix created by SOMRow, SOMColumn... that I assume has been created.  Output to a 2D/3D scatterplot or interactive table does not provide any hints as to SOMRow, SOMColumn identities.  I have not been able to find a learning module on this.  Any incite?