Class SphericalKMeansPlusPlus.Instance

  • Enclosing class:
    SphericalKMeansPlusPlus<O>

    protected static class SphericalKMeansPlusPlus.Instance
    extends java.lang.Object
    Abstract instance implementing the weight handling.
    Author:
    Erich Schubert
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected double alpha
      Parameter to balance distance vs. uniform sampling.
      protected long diststat
      Count the number of distance computations.
      protected java.util.Random random
      Random generator
      protected elki.database.relation.Relation<? extends elki.data.NumberVector> relation
      Data relation.
      protected elki.database.datastore.WritableDoubleDataStore weights
      Weights
    • Constructor Summary

      Constructors 
      Constructor Description
      Instance​(elki.database.relation.Relation<? extends elki.data.NumberVector> relation, double alpha, elki.utilities.random.RandomFactory rnd)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void chooseRemaining​(int k, java.util.List<elki.data.NumberVector> means, double weightsum)
      Choose remaining means, weighted by distance.
      protected double initialWeights​(elki.data.NumberVector first)
      Initialize the weight list.
      protected double nextDouble​(double weightsum)  
      double[][] run​(int k)
      Run k-means++ initialization for number vectors.
      protected double similarity​(elki.data.NumberVector a, elki.database.ids.DBIDRef b)
      Compute the distance of two objects.
      protected double updateWeights​(elki.data.NumberVector latest)
      Update the weight list.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • alpha

        protected double alpha
        Parameter to balance distance vs. uniform sampling.
      • relation

        protected elki.database.relation.Relation<? extends elki.data.NumberVector> relation
        Data relation.
      • weights

        protected elki.database.datastore.WritableDoubleDataStore weights
        Weights
      • diststat

        protected long diststat
        Count the number of distance computations.
      • random

        protected java.util.Random random
        Random generator
    • Constructor Detail

      • Instance

        public Instance​(elki.database.relation.Relation<? extends elki.data.NumberVector> relation,
                        double alpha,
                        elki.utilities.random.RandomFactory rnd)
        Constructor.
        Parameters:
        relation - Data relation
        alpha - Alpha parameter
        rnd - Random generator
    • Method Detail

      • run

        public double[][] run​(int k)
        Run k-means++ initialization for number vectors.
        Parameters:
        k - K
        Returns:
        Vectors
      • similarity

        protected double similarity​(elki.data.NumberVector a,
                                    elki.database.ids.DBIDRef b)
        Compute the distance of two objects.
        Parameters:
        a - First object
        b - Second object
        Returns:
        Distance
      • chooseRemaining

        protected void chooseRemaining​(int k,
                                       java.util.List<elki.data.NumberVector> means,
                                       double weightsum)
        Choose remaining means, weighted by distance.
        Parameters:
        k - Number of means to choose
        means - Means storage
        weightsum - Sum of weights
      • initialWeights

        protected double initialWeights​(elki.data.NumberVector first)
        Initialize the weight list.
        Parameters:
        first - Added ID
        Returns:
        Weight sum
      • updateWeights

        protected double updateWeights​(elki.data.NumberVector latest)
        Update the weight list.
        Parameters:
        latest - Added ID
        Returns:
        Weight sum
      • nextDouble

        protected double nextDouble​(double weightsum)