Class CenterOfMassMetaClustering<C extends Clustering<?>>

  • Type Parameters:
    C - Clustering result type (inherited from inner algorithm)
    All Implemented Interfaces:
    Algorithm, ClusteringAlgorithm<C>
    Direct Known Subclasses:
    CKMeans

    @Reference(authors="Erich Schubert, Alexander Koos, Tobias Emrich, Andreas Z\u00fcfle, Klaus Arthur Schmid, Arthur Zimek",
               title="A Framework for Clustering Uncertain Data",
               booktitle="Proceedings of the VLDB Endowment, 8(12)",
               url="http://www.vldb.org/pvldb/vol8/p1976-schubert.pdf",
               bibkey="DBLP:journals/pvldb/SchubertKEZSZ15")
    public class CenterOfMassMetaClustering<C extends Clustering<?>>
    extends java.lang.Object
    implements ClusteringAlgorithm<C>
    Center-of-mass meta clustering reduces uncertain objects to their center of mass, then runs a vector-oriented clustering algorithm on this data set.

    Reference:

    Erich Schubert, Alexander Koos, Tobias Emrich, Andreas Züfle, Klaus Arthur Schmid, Arthur Zimek
    A Framework for Clustering Uncertain Data
    In Proceedings of the VLDB Endowment, 8(12), 2015.

    Since:
    0.7.0
    Author:
    Erich Schubert
    • Constructor Detail

      • CenterOfMassMetaClustering

        public CenterOfMassMetaClustering​(ClusteringAlgorithm<C> inner)
        Constructor, quite trivial.
        Parameters:
        inner - Primary clustering algorithm
    • 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 C run​(Relation<? extends UncertainObject> relation)
        This run method will do the wrapping.
        Parameters:
        relation - Data relation of uncertain objects
        Returns:
        Clustering result
      • runClusteringAlgorithm

        protected C runClusteringAlgorithm​(java.lang.Object parent,
                                           DBIDs ids,
                                           DataStore<DoubleVector> store,
                                           int dim,
                                           java.lang.String title)
        Run a clustering algorithm on a single instance.
        Parameters:
        parent - Parent result to attach to
        ids - Object IDs to process
        store - Input data
        dim - Dimensionality
        title - Title of relation
        Returns:
        Clustering result