public class FilteredRandomPivotChooser extends AbstractPivotChooser
selectPivot(int, messif.objects.util.AbstractObjectIterator)
.
It filters out pivots close to each other. The filter condition is based on calculating distance density
and taking 25th percentile as the threshold.
CAVEAT: If this pivot chooser is initialized with any pivot before calling getPivot(),
such manually added pivots are not taken into account in filtering! So getPivot(n) works locally only on the candidates picked randomly from the passed data.counterBucketReadBuckets, counterObjectDistComp, counterPivotDistComp, counterPivotReadBuckets, preselectedPivots, sampleProviders
Constructor and Description |
---|
FilteredRandomPivotChooser()
Creates a new instance
|
Modifier and Type | Method and Description |
---|---|
protected void |
selectPivot(int count,
AbstractObjectIterator<? extends LocalAbstractObject> sampleSetIterator)
Method for selecting pivots and appending to the list of pivots.
|
addPivot, clear, deregisterSampleProvider, getLastPivot, getNextPivot, getPivot, getPivot, iterator, registerSampleProvider, removeLastPivot, selectPivot, selectPivot, size
public FilteredRandomPivotChooser()
protected void selectPivot(int count, AbstractObjectIterator<? extends LocalAbstractObject> sampleSetIterator)
selectPivot
in class AbstractPivotChooser
sampleSetIterator
- Iterator over the sample set of objects to choose new pivots fromcount
- Number of pivots to generate