mlpack
|
NSWrapperBase is a base wrapper class for holding all NeighborSearch types supported by NSModel. More...
#include <ns_model.hpp>
Public Member Functions | |
NSWrapperBase () | |
Create the NSWrapperBase object. More... | |
virtual NSWrapperBase * | Clone () const =0 |
Create a new NSWrapperBase that is the same as this one. More... | |
virtual | ~NSWrapperBase () |
Destruct the NSWrapperBase (nothing to do). | |
virtual const arma::mat & | Dataset () const =0 |
Return a reference to the dataset. | |
virtual NeighborSearchMode | SearchMode () const =0 |
Get the search mode. | |
virtual NeighborSearchMode & | SearchMode ()=0 |
Modify the search modem. | |
virtual double | Epsilon () const =0 |
Get the approximation parameter epsilon. | |
virtual double & | Epsilon ()=0 |
Modify the approximation parameter epsilon. | |
virtual void | Train (arma::mat &&referenceSet, const size_t leafSize, const double tau, const double rho)=0 |
Train the NeighborSearch model with the given parameters. | |
virtual void | Search (arma::mat &&querySet, const size_t k, arma::Mat< size_t > &neighbors, arma::mat &distances, const size_t leafSize, const double rho)=0 |
Perform bichromatic neighbor search (i.e. More... | |
virtual void | Search (const size_t k, arma::Mat< size_t > &neighbors, arma::mat &distances)=0 |
Perform monochromatic neighbor search (i.e. More... | |
NSWrapperBase is a base wrapper class for holding all NeighborSearch types supported by NSModel.
All NeighborSearch type wrappers inherit from this class, allowing a simple interface via inheritance for all the different types we want to support.
|
inline |
Create the NSWrapperBase object.
The base class does not hold anything, so this constructor does not do anything.
|
pure virtual |
Create a new NSWrapperBase that is the same as this one.
This function will properly handle polymorphism.
Implemented in mlpack::neighbor::SpillNSWrapper< SortPolicy >, mlpack::neighbor::LeafSizeNSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >, mlpack::neighbor::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >, and mlpack::neighbor::NSWrapper< SortPolicy, tree::SPTree, tree::SPTree< metric::EuclideanDistance, NeighborSearchStat< SortPolicy >, arma::mat >::template DefeatistDualTreeTraverser, tree::SPTree< metric::EuclideanDistance, NeighborSearchStat< SortPolicy >, arma::mat >::template DefeatistSingleTreeTraverser >.
|
pure virtual |
Perform bichromatic neighbor search (i.e.
search with a separate query set).
Implemented in mlpack::neighbor::SpillNSWrapper< SortPolicy >, mlpack::neighbor::LeafSizeNSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >, mlpack::neighbor::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >, and mlpack::neighbor::NSWrapper< SortPolicy, tree::SPTree, tree::SPTree< metric::EuclideanDistance, NeighborSearchStat< SortPolicy >, arma::mat >::template DefeatistDualTreeTraverser, tree::SPTree< metric::EuclideanDistance, NeighborSearchStat< SortPolicy >, arma::mat >::template DefeatistSingleTreeTraverser >.
|
pure virtual |
Perform monochromatic neighbor search (i.e.
use the reference set as the query set).
Implemented in mlpack::neighbor::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >, and mlpack::neighbor::NSWrapper< SortPolicy, tree::SPTree, tree::SPTree< metric::EuclideanDistance, NeighborSearchStat< SortPolicy >, arma::mat >::template DefeatistDualTreeTraverser, tree::SPTree< metric::EuclideanDistance, NeighborSearchStat< SortPolicy >, arma::mat >::template DefeatistSingleTreeTraverser >.