# Self-Organizing Map (SOM): R code — All you have to do is just preparing data set (very simple, easy and practical)

I release R code of Self-Organizing Map (SOM). They are very easy to use. You prepare data set, and just run the code! Then, SOM can be obtained. Very simple and easy!

You can buy each code from the URL below.

#### R

https://gum.co/SjMNK
Please download the supplemental zip file (this is free) from the URL below to run the SOM code.
http://univprofblog.html.xdomain.jp/code/R_scripts_functions.zip

### Procedure of SOM in the R code

To perform appropriate SOM, the R code follow the procedure below, after data set is loaded.

1. Decide the type of SOM
You select hexagon or rectangle as shape of each neuron. Default is hexagon.

2. Decide whether SOM is mapping torus or not
Mapping torus means that the right of the right edge is the left edge and the upside of the top edge is the bottom edge. So, shape of SOM is like doughnut sterically. Default is mapping torus

3. Decide map size of SOM
You decide the number of neurons in column and that in row. The number of all neurons, which means (the number of columns) × (the number of rows), should be lower than the number of samples.

4. Decide the number of iterations in training SOM
This number should be large. For example, it is 100.

5. Decide learning rate
For example, it is 0.01 or 0.03. It can be decreased gradually at each step.

6. Autoscale each variable (if necessary)
Autoscaling means centering and scaling. Mean of each variable becomes zero by subtracting mean of each variable from the variable in centering. Standard deviation of each variable becomes one by dividing standard deviation of each variable from the variable in scaling.

7. Train SOM

8. Check the point on SOM for each sample

9. Check clusters by using U-matrix

### How to perform SOM

#### 4. Prepare data set. For data format, see the article below.

https://medium.com/@univprofblog1/data-format-for-matlab-r-and-python-codes-of-data-analysis-and-sample-data-set-9b0f845b565a#.3ibrphs4h

### Required settings

Please see the article below.
https://medium.com/@univprofblog1/settings-for-running-my-matlab-r-and-python-codes-136b9e5637a1#.paer8scqy