Interface IArt2aClusteringResult<T>

Type Parameters:
T - generic parameter. This parameter is either a Double or a Float. The type of teh method @code getAngleBetweenClusters(int, int) is calculated either as a float or as a double, depending on the clustering precision option.
All Known Implementing Classes:
Art2aAbstractResult, Art2aDoubleClusteringResult, Art2aFloatClusteringResult

public interface IArt2aClusteringResult<T>
Interface for implementing clustering result classes.
  • Method Details

    • getVigilanceParameter

      T getVigilanceParameter()
      Returns the vigilance parameter of the clustering algorithm.
      Returns:
      float vigilance parameter
    • getNumberOfDetectedClusters

      int getNumberOfDetectedClusters()
      Returns the number of detected clusters.
      Returns:
      int detected cluster number
    • getNumberOfEpochs

      int getNumberOfEpochs()
      Returns the number of epochs.
      Returns:
      int epoch number
    • getClusterIndices

      int[] getClusterIndices(int aClusterNumber) throws IllegalArgumentException
      Returns the input indices assigned to the given cluster.
      Parameters:
      aClusterNumber - given cluster number
      Returns:
      array with the input indices for a given cluster
      Throws:
      IllegalArgumentException - is thrown if the given cluster does not exist.
    • getClusterRepresentatives

      int getClusterRepresentatives(int aClusterNumber) throws IllegalArgumentException
      Calculates the cluster representative. This means that the input that is most similar to the cluster vector is determined.
      Parameters:
      aClusterNumber - Cluster number for which the representative is to be calculated.
      Returns:
      int input indices of the representative input in the cluster.
      Throws:
      IllegalArgumentException - is thrown if the given cluster number is invalid.
    • exportClusteringResultsToTextFiles

      void exportClusteringResultsToTextFiles(Writer aClusteringResultWriter, Writer aClusteringProcessWriter) throws NullPointerException
      The result of the clustering is additionally exported in two text files. One of these files is a very detailed representation of the results (clustering process file), while in the other only the most important results are summarized (clustering result file). IMPORTANT: In order to additionally export the clustering results into text files, the folder must be created first. This requires the method call setUpClusteringResultTextFilePrinter(String aPathName, Class) or user own Writer and text files. This method call is optional, the folder can also be created by the user.
      Parameters:
      aClusteringProcessWriter - clustering result (process) writer
      aClusteringResultWriter - clustering result writer
      Throws:
      NullPointerException - is thrown, if the Writers are null.
      See Also:
    • getAngleBetweenClusters

      T getAngleBetweenClusters(int aFirstCluster, int aSecondCluster) throws IllegalArgumentException
      Calculates the angle between two clusters. The angle between the clusters defines the distance between them. Since all vectors are normalized to unit vectors in the first step of clustering and only positive components are allowed, they all lie in the positive quadrant of the unit sphere, so the maximum distance between two clusters can be 90 degrees.
      Parameters:
      aFirstCluster - first cluster
      aSecondCluster - second cluster
      Returns:
      generic angle double or float.
      Throws:
      IllegalArgumentException - if the given parameters are invalid.