SimpleSOMMapper(kshape, niter, learning_rate=0.005, iradius=None, distance_metric=None, initialization_func=None)¶
Mapper using a self-organizing map (SOM) for dimensionality reduction.
This mapper provides a simple, but pretty fast implementation of a self-organizing map using an unsupervised training algorithm. It performs a ND -> 2D mapping, which can for, example, be used for visualization of high-dimensional data.
This SOM implementation uses squared Euclidean distance to determine the best matching Kohonen unit and a Gaussian neighborhood influence kernel.
Available conditional attributes:
(Conditional attributes enabled by default suffixed with
kshape : (int, int)
Shape of the internal Kohonen layer. Currently, only 2D Kohonen layers are supported, although the length of an axis might be set to 1.
niter : int
Number of iteration during network training.
learning_rate : float
Initial learning rate, which will continuously decreased during network training.
iradius : float or None
Initial radius of the Gaussian neighborhood kernel radius, which will continuously decreased during network training. If
None(default) the radius is set equal to the longest edge of the Kohonen layer.
distance_metric: callable or None :
Kernel distance metric between elements in Kohonen layer. If None then Euclidean distance is used. Otherwise it should be a callable that accepts two input arguments x and y and returns the distance d through d=distance_metric(x,y)
initialization_func: callable or None :
Initialization function to set self._K, that should take one argument with training samples and return an numpy array. If None, then values in the returned array are taken from a standard normal distribution.
enable_ca : None or list of str
Names of the conditional attributes which should be enabled in addition to the default ones
disable_ca : None or list of str
Names of the conditional attributes which should be disabled
Provide access to the Kohonen layer.
With some care.