def __init__(self, source_data, number_clusters, osc_initial_phases=initial_type.RANDOM_GAUSSIAN, initial_neighbors=3, increase_persent=0.15, ccore=False): """! @brief Costructor of the oscillatory network hSyncNet for cluster analysis. @param[in] source_data (list): Input data set defines structure of the network. @param[in] number_clusters (uint): Number of clusters that should be allocated. @param[in] osc_initial_phases (initial_type): Type of initialization of initial values of phases of oscillators. @param[in] initial_neighbors (uint): Defines initial radius connectivity by calculation average distance to connect specify number of oscillators. @param[in] increase_persent (double): Percent of increasing of radius connectivity on each step (input values in range (0.0; 1.0) correspond to (0%; 100%)). @param[in] ccore (bool): If True than DLL CCORE (C++ solution) will be used for solving. """ self.__ccore_network_pointer = None if (initial_neighbors >= len(source_data)): initial_neighbors = len(source_data) - 1 if (ccore is True): self.__ccore_network_pointer = wrapper.hsyncnet_create_network( source_data, number_clusters, osc_initial_phases, initial_neighbors, increase_persent) else: super().__init__(source_data, 0, initial_phases=osc_initial_phases) self.__initial_neighbors = initial_neighbors self.__increase_persent = increase_persent self._number_clusters = number_clusters
def __init__(self, source_data, number_clusters, osc_initial_phases = initial_type.RANDOM_GAUSSIAN, initial_neighbors = 3, increase_persent = 0.15, ccore = True): """! @brief Costructor of the oscillatory network hSyncNet for cluster analysis. @param[in] source_data (list): Input data set defines structure of the network. @param[in] number_clusters (uint): Number of clusters that should be allocated. @param[in] osc_initial_phases (initial_type): Type of initialization of initial values of phases of oscillators. @param[in] initial_neighbors (uint): Defines initial radius connectivity by calculation average distance to connect specify number of oscillators. @param[in] increase_persent (double): Percent of increasing of radius connectivity on each step (input values in range (0.0; 1.0) correspond to (0%; 100%)). @param[in] ccore (bool): If True than DLL CCORE (C++ solution) will be used for solving. """ self.__ccore_network_pointer = None; if (initial_neighbors >= len(source_data)): initial_neighbors = len(source_data) - 1; if ( (ccore is True) and ccore_library.workable() ): self.__ccore_network_pointer = wrapper.hsyncnet_create_network(source_data, number_clusters, osc_initial_phases, initial_neighbors, increase_persent); else: super().__init__(source_data, 0, initial_phases = osc_initial_phases, ccore=False); self.__initial_neighbors = initial_neighbors; self.__increase_persent = increase_persent; self._number_clusters = number_clusters;