Class ByModelClustering

  • All Implemented Interfaces:
    Algorithm, ClusteringAlgorithm<Clustering<Model>>

    @Title("Clustering by model")
    @Description("Cluster points by a (pre-assigned!) model. For comparing results with a reference clustering.")
    @Priority(-105)
    public class ByModelClustering
    extends java.lang.Object
    implements ClusteringAlgorithm<Clustering<Model>>
    Pseudo clustering using annotated models.

    This "algorithm" puts elements into the same cluster when they agree in their model. I.e. it just uses a predefined clustering, and is mostly useful for testing and evaluation (e.g., comparing the result of a real algorithm to the reference result / golden standard used by the generator).

    Since:
    0.5.0
    Author:
    Erich Schubert
    • Field Detail

      • noisepattern

        private java.util.regex.Pattern noisepattern
        Pattern to recognize noise clusters with.
    • Constructor Detail

      • ByModelClustering

        public ByModelClustering​(java.util.regex.Pattern noisepattern)
        Constructor.
        Parameters:
        noisepattern - Noise pattern
      • ByModelClustering

        public ByModelClustering()
        Constructor without parameters
    • Method Detail

      • getInputTypeRestriction

        public TypeInformation[] getInputTypeRestriction()
        Description copied from interface: Algorithm
        Get the input type restriction used for negotiating the data query.
        Specified by:
        getInputTypeRestriction in interface Algorithm
        Returns:
        Type restriction
      • run

        public Clustering<Model> run​(Relation<Model> relation)
        Run the actual clustering algorithm.
        Parameters:
        relation - The data input we use