Interface IArt2aClustering

All Known Implementing Classes:
Art2aDoubleClustering, Art2aFloatClustering

public interface IArt2aClustering
Interface for implementing float and double Art-2a clustering.
  • Method Summary

    Modifier and Type
    Method
    Description
    getClusterResult(boolean anIsClusteringResultExported, int aSeedValue)
    Starts an Art-2A clustering algorithm.
    int[]
    Since the Art-2a algorithm randomly selects any input vector, the input vectors must first be randomized.
    void
    Initialise the cluster matrices.
  • Method Details

    • initializeMatrices

      void initializeMatrices()
      Initialise the cluster matrices.
    • getRandomizeVectorIndices

      int[] getRandomizeVectorIndices()
      Since the Art-2a algorithm randomly selects any input vector, the input vectors must first be randomized. The input vectors/fingerprints are randomized so that all input vectors can be clustered by random selection. Here, the Fisher-Yates method is used to randomize the inputs.
      Returns:
      an array with vector indices in a random order
    • getClusterResult

      IArt2aClusteringResult getClusterResult(boolean anIsClusteringResultExported, int aSeedValue) throws ConvergenceFailedException
      Starts an Art-2A clustering algorithm. The clustering process begins by randomly selecting an input vector/fingerprint from the data matrix. After normalizing the first input vector, it is assigned to the first cluster. For all other subsequent input vectors, they also undergo certain normalization steps. If there is sufficient similarity to an existing cluster, they are assigned to that cluster. Otherwise, a new cluster is formed, and the input is added to it. Null vectors are not clustered.
      Parameters:
      anIsClusteringResultExported - If the parameter == true, all information about the clustering is exported to 2 text files.The first exported text file is a detailed log of the clustering process and the intermediate results and the second file is a rough overview of the final result.
      aSeedValue - user-defined seed value to randomize input vectors.
      Returns:
      IArt2aClusteringResult
      Throws:
      ConvergenceFailedException - is thrown, when convergence fails.