class_docstr: !
  @brief Random center initializer is for generation specified amount of random of centers for specified data.
class_docstr_tok: ["!","@","brief","Random","center","initializer","is","for","generation","specified","amount","of","random","of","centers","for","specified","data","."]
docstr: !
  @brief Creates instance of random center initializer.
  
  @param[in] data (list): List of points where each point is represented by list of coordinates.
  @param[in] amount_centers (unit): Amount of centers that should be initialized.
  @param[in] **kwargs: Arbitrary keyword arguments (available arguments: 'random_state').
  
  <b>Keyword Args:</b><br>
      - random_state (int): Seed for random state (by default is `None`, current system time is used).
docstr_tok: ["!","@","brief","Creates","instance","of","random","center","initializer",".","@","param","[","in","]","data","(","list",")",":","List","of","points","where","each","point","is","represented","by","list","of","coordinates",".","@","param","[","in","]","amount_centers","(","unit",")",":","Amount","of","centers","that","should","be","initialized",".","@","param","[","in","]","*","*","kwargs",":","Arbitrary","keyword","arguments","(","available","arguments",":","'random_state","'",")",".","<","b",">","Keyword","Args",":","<","\/b",">","<","br",">","-","random_state","(","int",")",":","Seed","for","random","state","(","by","default","is","`","None","`",",","current","system","time","is","used",")","."]
code: def __init__(self, data, amount_centers, **kwargs):
      """!
      @brief Creates instance of random center initializer.
  
      @param[in] data (list): List of points where each point is represented by list of coordinates.
      @param[in] amount_centers (unit): Amount of centers that should be initialized.
      @param[in] **kwargs: Arbitrary keyword arguments (available arguments: 'random_state').
  
      <b>Keyword Args:</b><br>
          - random_state (int): Seed for random state (by default is `None`, current system time is used).
  
      """
  
      self.__data = data
      self.__amount = amount_centers
      self.__available_indexes = set(list(range(len(self.__data))))
  
      random.seed(kwargs.get("random_state", None))
  
      if self.__amount <= 0:
          raise ValueError(
              "Amount of cluster centers should be at least 1."
          )
  
      if self.__amount > len(self.__data):
          raise ValueError(
              "Amount of cluster centers '%d' should be less than data size."
              % self.__amount
          )
  
file_path: pyclustering/pyclustering/cluster/center_initializer.py
imports: import numpy
  import random
  import warnings
  from pyclustering.utils.metric import distance_metric, type_metric
label_desc: Use image node_id 1 to create a new random_center_initializer object  with example: obj = random_center_initializer(data, amount_centers)