mlpack
Public Member Functions | List of all members
mlpack::neighbor::LeafSizeNSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType > Class Template Reference

LeafSizeNSWrapper wraps any NeighborSearch types that take a leaf size for tree construction. More...

#include <ns_model.hpp>

Inheritance diagram for mlpack::neighbor::LeafSizeNSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >:
Inheritance graph
[legend]
Collaboration diagram for mlpack::neighbor::LeafSizeNSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >:
Collaboration graph
[legend]

Public Member Functions

 LeafSizeNSWrapper (const NeighborSearchMode searchMode, const double epsilon)
 Construct the LeafSizeNSWrapper by delegating to the NSWrapper constructor. More...
 
virtual ~LeafSizeNSWrapper ()
 Delete the LeafSizeNSWrapper.
 
virtual LeafSizeNSWrapperClone () const
 Return a copy of the LeafSizeNSWrapper.
 
virtual void Train (arma::mat &&referenceSet, const size_t leafSize, const double, const double)
 Train a model with the given parameters. More...
 
virtual void Search (arma::mat &&querySet, const size_t k, arma::Mat< size_t > &neighbors, arma::mat &distances, const size_t leafSize, const double)
 Perform bichromatic search (e.g. More...
 
template<typename Archive >
void serialize (Archive &ar, const uint32_t)
 Serialize the NeighborSearch model.
 
- Public Member Functions inherited from mlpack::neighbor::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >
 NSWrapper (const NeighborSearchMode searchMode, const double epsilon)
 Construct the NSWrapper object, initializing the internally-held NeighborSearch object. More...
 
virtual ~NSWrapper ()
 Delete the NSWrapper object.
 
const arma::mat & Dataset () const
 Get a reference to the reference set.
 
NeighborSearchMode SearchMode () const
 Get the search mode.
 
NeighborSearchModeSearchMode ()
 Modify the search mode.
 
double Epsilon () const
 Get epsilon, the approximation parameter.
 
double & Epsilon ()
 Modify epsilon, the approximation parameter.
 
virtual void Search (const size_t k, arma::Mat< size_t > &neighbors, arma::mat &distances)
 Perform monochromatic neighbor search (i.e. More...
 
template<typename Archive >
void serialize (Archive &ar, const uint32_t)
 Serialize the NeighborSearch model.
 
- Public Member Functions inherited from mlpack::neighbor::NSWrapperBase
 NSWrapperBase ()
 Create the NSWrapperBase object. More...
 
virtual ~NSWrapperBase ()
 Destruct the NSWrapperBase (nothing to do).
 

Additional Inherited Members

- Protected Types inherited from mlpack::neighbor::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >
typedef NeighborSearch< SortPolicy, metric::EuclideanDistance, arma::mat, TreeType, DualTreeTraversalType, SingleTreeTraversalType > NSType
 
- Protected Attributes inherited from mlpack::neighbor::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >
NSType ns
 The instantiated NeighborSearch object that we are wrapping.
 

Detailed Description

template<typename SortPolicy, template< typename TreeMetricType, typename TreeStatType, typename TreeMatType > class TreeType, template< typename RuleType > class DualTreeTraversalType = TreeType<metric::EuclideanDistance, NeighborSearchStat<SortPolicy>, arma::mat>::template DualTreeTraverser, template< typename RuleType > class SingleTreeTraversalType = TreeType<metric::EuclideanDistance, NeighborSearchStat<SortPolicy>, arma::mat>::template SingleTreeTraverser>
class mlpack::neighbor::LeafSizeNSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >

LeafSizeNSWrapper wraps any NeighborSearch types that take a leaf size for tree construction.

The implementations of Train() and Search() take the leaf size into account.

Constructor & Destructor Documentation

◆ LeafSizeNSWrapper()

template<typename SortPolicy, template< typename TreeMetricType, typename TreeStatType, typename TreeMatType > class TreeType, template< typename RuleType > class DualTreeTraversalType = TreeType<metric::EuclideanDistance, NeighborSearchStat<SortPolicy>, arma::mat>::template DualTreeTraverser, template< typename RuleType > class SingleTreeTraversalType = TreeType<metric::EuclideanDistance, NeighborSearchStat<SortPolicy>, arma::mat>::template SingleTreeTraverser>
mlpack::neighbor::LeafSizeNSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >::LeafSizeNSWrapper ( const NeighborSearchMode  searchMode,
const double  epsilon 
)
inline

Construct the LeafSizeNSWrapper by delegating to the NSWrapper constructor.

Member Function Documentation

◆ Search()

template<typename SortPolicy , template< typename TreeMetricType, typename TreeStatType, typename TreeMatType > class TreeType, template< typename RuleType > class DualTreeTraversalType, template< typename RuleType > class SingleTreeTraversalType>
void mlpack::neighbor::LeafSizeNSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >::Search ( arma::mat &&  querySet,
const size_t  k,
arma::Mat< size_t > &  neighbors,
arma::mat &  distances,
const size_t  leafSize,
const double   
)
virtual

Perform bichromatic search (e.g.

search with a separate query set). This overload uses the leaf size, but ignores the other parameters.

Reimplemented from mlpack::neighbor::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >.

◆ Train()

template<typename SortPolicy , template< typename TreeMetricType, typename TreeStatType, typename TreeMatType > class TreeType, template< typename RuleType > class DualTreeTraversalType, template< typename RuleType > class SingleTreeTraversalType>
void mlpack::neighbor::LeafSizeNSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >::Train ( arma::mat &&  referenceSet,
const size_t  leafSize,
const double  ,
const double   
)
virtual

Train a model with the given parameters.

This overload uses leafSize but ignores the other parameters.

Reimplemented from mlpack::neighbor::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >.


The documentation for this class was generated from the following files: