Class ByModelClustering

  • All Implemented Interfaces:
    elki.Algorithm, elki.clustering.ClusteringAlgorithm<elki.data.Clustering<elki.data.model.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 elki.clustering.ClusteringAlgorithm<elki.data.Clustering<elki.data.model.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
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ByModelClustering.Par
      Parameterization class.
      • Nested classes/interfaces inherited from interface elki.Algorithm

        elki.Algorithm.Utils
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.regex.Pattern noisepattern
      Pattern to recognize noise clusters with.
    • Constructor Summary

      Constructors 
      Constructor Description
      ByModelClustering()
      Constructor without parameters
      ByModelClustering​(java.util.regex.Pattern noisepattern)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      elki.data.type.TypeInformation[] getInputTypeRestriction()  
      elki.data.Clustering<elki.data.model.Model> run​(elki.database.relation.Relation<elki.data.model.Model> relation)
      Run the actual clustering algorithm.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface elki.clustering.ClusteringAlgorithm

        autorun
    • 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 elki.data.type.TypeInformation[] getInputTypeRestriction()
        Specified by:
        getInputTypeRestriction in interface elki.Algorithm
      • run

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