OEFPHistogram¶
class OEFPHistogram
The OEFPHistogram class is used to hold a histogram of similarity scores.
This class is an efficient way to obtain statistics on large databases which would be unfeasible to keep as full NxN similarity matrices.
- The following classes derive from this class:
See also
Constructors¶
OEFPHistogram(size_t numBins=200, double min=0.0, double max=1.0)
Creates an OEFPHistogram object with given number of bins and range.
- nrbins
Number of bins in the histogram. (default=200)
- min
Minimum bound (inclusive) of the histogram range. (default = 0.0)
- max
Maximum bound (inclusive) of the histogram range. (default = 1.0)
Note
The default range of [0,1] covers all built-in similarity measures.
AddSample¶
size_t AddSample(const float sample)
size_t AddSample(const double sample)
Adds the sample into the histogram by incrementing the count in the relevant bin. Returns the bin index that the sample went into.
GetBinBoundaries¶
OESystem::OEIterBase<double> *GetBinBoundaries() const
Returns an iterator over the boundaries for each bin.
Note
The number of elements in this iterator is equal to
OEFPHistogram::NumBins
+1.
GetBinCenters¶
OESystem::OEIterBase<double> *GetBinCenters() const
Returns an iterator over the center value for each bin.
Note
The number of elements in this iterator is equal to
OEFPHistogram::NumBins
.
Hint
It is generally reasonable to plot the results of
OEFPHistogram::GetCounts
or
OEFPHistogram::GetDensity
against the bin centers
returned by this method.
GetBinIdx¶
size_t GetBinIdx(const float sample) const
size_t GetBinIdx(const double sample) const
Returns the bin index that the sample would go into without actually adding the sample into the bin.
GetCounts¶
OESystem::OEIterBase<unsigned int> *GetCounts() const
Returns an iterator over the bin counts.
Note
Even though counts are returned as unsigned integers, they are internally
kept as size_t. If the counts are overflowing the unsigned int type of
the system, it may be more appropriate to use the normalized
OEFPHistogram::GetDensity
instead.
GetDensity¶
OESystem::OEIterBase<double> *GetDensity() const
Returns an iterator over the probability density for each bin.
Note
Result is equivalent to OEFPHistogram::GetCounts
normalized by OEFPHistogram::NumSamples
.
Mean¶
double Mean()
Approximates and returns the sample mean over the histogram.
Note
This approximation is affected by number of bins in the histogram.
Std¶
double Std()
Approximates and returns the sample standard deviation over the histogram.
Note
This approximation is affected by number of bins in the histogram.