class_docstr: !
  @brief Class represents clustering algorithm CLARANS (a method for clustering objects for spatial data mining).
class_docstr_tok: ["!","@","brief","Class","represents","clustering","algorithm","CLARANS","(","a","method","for","clustering","objects","for","spatial","data","mining",")","."]
docstr: !
  @brief Calculates estimation (cost) of the current clusters. The lower the estimation,
         the more optimally configuration of clusters.
  
  @return (double) estimation of current clusters.
docstr_tok: ["!","@","brief","Calculates","estimation","(","cost",")","of","the","current","clusters",".","The","lower","the","estimation",",","the","more","optimally","configuration","of","clusters",".","@","return","(","double",")","estimation","of","current","clusters","."]
code: def __calculate_estimation(self):
      """!
      @brief Calculates estimation (cost) of the current clusters. The lower the estimation,
             the more optimally configuration of clusters.
  
      @return (double) estimation of current clusters.
  
      """
      estimation = 0.0
      for index_cluster in range(0, len(self.__clusters)):
          cluster = self.__clusters[index_cluster]
          index_medoid = self.__current[index_cluster]
          for index_point in cluster:
              estimation += euclidean_distance_square(
                  self.__pointer_data[index_point],
                  self.__pointer_data[index_medoid],
              )
  
      return estimation
  
file_path: pyclustering/pyclustering/cluster/clarans.py
imports: import random
  from pyclustering.cluster.encoder import type_encoding
  from pyclustering.utils import euclidean_distance_square
label_desc: Use image node_id 10 for calling the clarans obj's underlying member method code with example usage: obj.__calculate_estimation() and returns: estimation