Interface IArt2aClusteringResult<T>
- Type Parameters:
T
- generic parameter. This parameter is either a Double or a Float. The type of teh method @codegetAngleBetweenClusters(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 Summary
Modifier and TypeMethodDescriptionvoid
exportClusteringResultsToTextFiles
(Writer aClusteringResultWriter, Writer aClusteringProcessWriter) The result of the clustering is additionally exported in two text files.getAngleBetweenClusters
(int aFirstCluster, int aSecondCluster) Calculates the angle between two clusters.int[]
getClusterIndices
(int aClusterNumber) Returns the input indices assigned to the given cluster.int
getClusterRepresentatives
(int aClusterNumber) Calculates the cluster representative.int
Returns the number of detected clusters.int
Returns the number of epochs.Returns the vigilance parameter of the clustering algorithm.
-
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
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
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) writeraClusteringResultWriter
- clustering result writer- Throws:
NullPointerException
- is thrown, if the Writers are null.- See Also:
-
getAngleBetweenClusters
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 clusteraSecondCluster
- second cluster- Returns:
- generic angle double or float.
- Throws:
IllegalArgumentException
- if the given parameters are invalid.
-