#NEWLINE# @ staticmethod #NEWLINE# def build( data , mapsize , mask = None , mapshape = 'planar' , lattice = 'rect' , normalization = 'var' , initialization = 'pca' , neighborhood = 'gaussian' , training = 'batch' , name = 'sompy' ) : #NEWLINE# #INDENT# '\n        :param data: data to be clustered, represented as a matrix of n rows, as inputs and m cols as input features\n        :param neighborhood: neighborhood object calculator.     Options are:\n            - gaussian\n            - bubble\n            - manhattan (not implemented yet)\n            - cut_gaussian (not implemented yet)\n            - epanechicov (not implemented yet)\n\n        :param normalization: normalizer object calculator. Options are:\n            - var\n\n        :param mapsize: tuple/list defining the dimensions of the som. If single number is provided is considered as the number of nodes.\n        :param mask: mask\n        :param mapshape: shape of the som. Options are:\n            - planar\n            - toroid (not implemented yet)\n            - cylinder (not implemented yet)\n\n        :param lattice: type of lattice. Options are:\n            - rect\n            - hexa (not implemented yet)\n\n        :param initialization: method to be used for initialization of the som. Options are:\n            - pca\n            - random\n\n        :param name: name used to identify the som\n        :param training: Training mode (seq, batch)\n        ' #NEWLINE# normalizer = ( NormalizatorFactory . build ( normalization ) if normalization else None ) #NEWLINE# neighborhood_calculator = NeighborhoodFactory . build ( neighborhood ) #NEWLINE# return SOM ( data , neighborhood_calculator , normalizer , mapsize , mask , mapshape , lattice , initialization , training , name )