Exemple #1
0
    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
Exemple #2
0
    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;