def initialize(self, **kwargs):
return_index = kwargs.get('<STR_LIT>', False)<EOL>index_point = self.__get_initial_center(True)<EOL>centers = [index_point]<EOL>self.__free_indexes.remove(index_point)<EOL>for _ in range(<NUM_LIT:1>, self.__amount):<EOL><INDENT>index_point = self.__get_next_center(centers, True)<EOL>centers.append(index_point)<EOL>self.__free_indexes.remove(index_point)<EOL><DEDENT>if not return_index:<EOL><INDENT>centers = [self.__data[index] for index in centers]<EOL><DEDENT>return centers<EOL>
!
        @brief Calculates initial centers using K-Means++ method.

        @param[in] **kwargs: Arbitrary keyword arguments (available arguments: 'return_index').

        <b>Keyword Args:</b><br>
            - return_index (bool): If True then returns indexes of points from input data instead of points itself.

        @return (list) List of initialized initial centers.
                  If argument 'return_index' is False then returns list of points.
                  If argument 'return_index' is True then returns list of indexes.