Class EnumeratedTreeDistribution<T>

java.lang.Object
org.apache.commons.math3.distribution.EnumeratedDistribution
org.apache.druid.segment.generator.EnumeratedTreeDistribution<T>
All Implemented Interfaces:
Serializable

public class EnumeratedTreeDistribution<T> extends org.apache.commons.math3.distribution.EnumeratedDistribution
EnumeratedDistrubtion's sample() method does a linear scan through the array of probabilities. This is too slow with high cardinality value sets, so this subclass overrides sample() to use a TreeMap instead.
See Also:
  • Field Summary

    Fields inherited from class org.apache.commons.math3.distribution.EnumeratedDistribution

    random
  • Constructor Summary

    Constructors
    Constructor
    Description
    EnumeratedTreeDistribution(List<org.apache.commons.math3.util.Pair<T,Double>> pmf)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     

    Methods inherited from class org.apache.commons.math3.distribution.EnumeratedDistribution

    getPmf, reseedRandomGenerator, sample, sample

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • EnumeratedTreeDistribution

      public EnumeratedTreeDistribution(List<org.apache.commons.math3.util.Pair<T,Double>> pmf)
  • Method Details

    • sample

      public T sample()
      Overrides:
      sample in class org.apache.commons.math3.distribution.EnumeratedDistribution