3 @brief Cluster analysis algorithm: SOM-SC (Self-Organized Feature Map for Simple Clustering) 4 @details There is no paper on which implementation is based. Algorithm SOM-SC is adaptation of SOM for cluster analysis in simple way. 5 Basic idea: amount of cluster that should be allocated is defines amount of neurons in the self-organized map. SOM-SC can be 6 considered as neural network implementation of K-Means algorithm. 8 @authors Andrei Novikov (pyclustering@yandex.ru) 10 @copyright GNU Public License 12 @cond GNU_PUBLIC_LICENSE 13 PyClustering is free software: you can redistribute it and/or modify 14 it under the terms of the GNU General Public License as published by 15 the Free Software Foundation, either version 3 of the License, or 16 (at your option) any later version. 18 PyClustering is distributed in the hope that it will be useful, 19 but WITHOUT ANY WARRANTY; without even the implied warranty of 20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 GNU General Public License for more details. 23 You should have received a copy of the GNU General Public License 24 along with this program. If not, see <http://www.gnu.org/licenses/>. 38 @brief Class represents simple clustering algorithm based on self-organized feature map. 39 @details This algorithm uses amount of clusters that should be allocated as a size of SOM map. Captured objects by neurons are clusters. 40 Algorithm is able to process data with Gaussian distribution that has spherical forms. 42 CCORE option can be used to use the pyclustering core - C/C++ shared library for processing that significantly increases performance. 46 # load list of points for cluster analysis 47 sample = read_sample(path); 49 # create instance of SOM-SC algorithm to allocated two clusters 50 somsc_instance = somsc(sample, 2); 52 # run cluster analysis and obtain results 53 somsc_instance.process(); 54 somsc_instance.get_clusters(); 59 def __init__(self, data, amount_clusters, epouch = 100, ccore = True):
61 @brief Creates SOM-SC (Self Organized Map for Simple Clustering) algorithm for clustering analysis. 63 @param[in] data (list): List of points that are used for processing. 64 @param[in] amount_clusters (uint): Amount of clusters that should be allocated. 65 @param[in] epouch (uint): Number of epochs for training of SOM. 66 @param[in] ccore (bool): If it is True then CCORE implementation will be used for clustering analysis. 80 @brief Performs cluster analysis by competition between neurons of SOM. 82 @remark Results of clustering can be obtained using corresponding get methods. 94 @brief Returns list of allocated clusters, each cluster contains indexes of objects in list of data. 105 @brief Returns clustering result representation type that indicate how clusters are encoded. 107 @return (type_encoding) Clustering result representation. 113 return type_encoding.CLUSTER_INDEX_LIST_SEPARATION;
def __init__(self, data, amount_clusters, epouch=100, ccore=True)
Creates SOM-SC (Self Organized Map for Simple Clustering) algorithm for clustering analysis...
def get_cluster_encoding(self)
Returns clustering result representation type that indicate how clusters are encoded.
Module for representing clustering results.
def get_clusters(self)
Returns list of allocated clusters, each cluster contains indexes of objects in list of data...
Class represents simple clustering algorithm based on self-organized feature map. ...
def process(self)
Performs cluster analysis by competition between neurons of SOM.
Neural Network: Self-Organized Feature Map.
Represents self-organized feature map (SOM).