def __init__(self, data, initial_centers = None, kmax = 20, tolerance = 0.025, criterion = splitting_type.BAYESIAN_INFORMATION_CRITERION, ccore = True):
        """!
        @brief Constructor of clustering algorithm X-Means.
        
        @param[in] data (list): Input data that is presented as list of points (objects), each point should be represented by list or tuple.
        @param[in] initial_centers (list): Initial coordinates of centers of clusters that are represented by list: [center1, center2, ...], 
                    if it is not specified then X-Means starts from the random center.
        @param[in] kmax (uint): Maximum number of clusters that can be allocated.
        @param[in] tolerance (double): Stop condition for each iteration: if maximum value of change of centers of clusters is less than tolerance than algorithm will stop processing.
        @param[in] criterion (splitting_type): Type of splitting creation.
        @param[in] ccore (bool): Defines should be CCORE (C++ pyclustering library) used instead of Python code or not.
        
        """
        
        self.__pointer_data = data
        self.__clusters = []
        
        if initial_centers is not None:
            self.__centers = initial_centers[:]
        else:
            self.__centers = [ [random.random() for _ in range(len(data[0])) ] ]
        
        self.__kmax = kmax
        self.__tolerance = tolerance
        self.__criterion = criterion
         
        self.__ccore = ccore
        if self.__ccore:
            self.__ccore = ccore_library.workable()
def __init__ ( self , data , initial_centers = None , kmax = 20 , tolerance = 0.025 , criterion = splitting_type . BAYESIAN_INFORMATION_CRITERION , ccore = True ) : self . __pointer_data = data self . __clusters = [ ] if initial_centers is not None : self . __centers = initial_centers [ : ] else : self . __centers = [ [ random . random ( ) for _ in range ( len ( data [ 0 ] ) ) ] ] self . __kmax = kmax self . __tolerance = tolerance self . __criterion = criterion self . __ccore = ccore if self . __ccore : self . __ccore = ccore_library . workable ( )
!
        @brief Constructor of clustering algorithm X-Means.
        
        @param[in] data (list): Input data that is presented as list of points (objects), each point should be represented by list or tuple.
        @param[in] initial_centers (list): Initial coordinates of centers of clusters that are represented by list: [center1, center2, ...], 
                    if it is not specified then X-Means starts from the random center.
        @param[in] kmax (uint): Maximum number of clusters that can be allocated.
        @param[in] tolerance (double): Stop condition for each iteration: if maximum value of change of centers of clusters is less than tolerance than algorithm will stop processing.
        @param[in] criterion (splitting_type): Type of splitting creation.
        @param[in] ccore (bool): Defines should be CCORE (C++ pyclustering library) used instead of Python code or not.