Class MiniMax<O>

  • Type Parameters:
    O - Object type
    All Implemented Interfaces:
    elki.Algorithm, HierarchicalClusteringAlgorithm
    Direct Known Subclasses:
    MiniMaxAnderberg, MiniMaxNNChain

    @Reference(authors="S. I. Ao, K. Yip, M. Ng, D. Cheung, P.-Y. Fong, I. Melhado, P. C. Sham",title="CLUSTAG: hierarchical clustering and graph methods for selecting tag SNPs",booktitle="Bioinformatics, 21 (8)",url="https://doi.org/10.1093/bioinformatics/bti201",bibkey="DBLP:journals/bioinformatics/AoYNCFMS05") @Reference(authors="J. Bien, R. Tibshirani",title="Hierarchical Clustering with Prototypes via Minimax Linkage",booktitle="Journal of the American Statistical Association 106(495)",url="https://doi.org/10.1198/jasa.2011.tm10183",bibkey="doi:10.1198/jasa.2011.tm10183")
    public class MiniMax<O>
    extends java.lang.Object
    implements HierarchicalClusteringAlgorithm
    Minimax Linkage clustering.

    Reference:

    S. I. Ao, K. Yip, M. Ng, D. Cheung, P.-Y. Fong, I. Melhado, P. C. Sham
    CLUSTAG: hierarchical clustering and graph methods for selecting tag SNPs
    Bioinformatics, 21 (8)

    J. Bien and R. Tibshirani
    Hierarchical Clustering with Prototypes via Minimax Linkage
    Journal of the American Statistical Association 106(495)

    Since:
    0.7.5
    Author:
    Julian Erhard, Erich Schubert
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  MiniMax.Instance
      Main worker instance of MiniMax.
      • Nested classes/interfaces inherited from interface elki.Algorithm

        elki.Algorithm.Utils
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected elki.distance.Distance<? super O> distance
      Distance function used.
      private static elki.logging.Logging LOG
      Class Logger.
    • Constructor Summary

      Constructors 
      Constructor Description
      MiniMax​(elki.distance.Distance<? super O> distance)
      Constructor.
    • Field Detail

      • LOG

        private static final elki.logging.Logging LOG
        Class Logger.
      • distance

        protected elki.distance.Distance<? super O> distance
        Distance function used.
    • Constructor Detail

      • MiniMax

        public MiniMax​(elki.distance.Distance<? super O> distance)
        Constructor.
        Parameters:
        distance - Distance function to use.
    • Method Detail

      • getInputTypeRestriction

        public elki.data.type.TypeInformation[] getInputTypeRestriction()
        Specified by:
        getInputTypeRestriction in interface elki.Algorithm
      • run

        public ClusterPrototypeMergeHistory run​(elki.database.relation.Relation<O> relation)
        Run the algorithm on a database.
        Parameters:
        relation - Relation to process.
        Returns:
        Hierarchical result
      • initializeMatrices

        protected static <O> ClusterDistanceMatrix initializeMatrices​(elki.database.ids.ArrayDBIDs ids,
                                                                      elki.database.ids.ArrayModifiableDBIDs prots,
                                                                      elki.database.query.distance.DistanceQuery<O> dq)
        Initializes the inter-cluster distance matrix of possible merges
        Parameters:
        ids - Object ids
        prots - Prototype storage
        dq - The distance query
        Returns:
        mat Cluster distance matrix