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

NSWrapper is a wrapper class for most NeighborSearch types. More...

#include <ns_model.hpp>

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

Public Member Functions

 NSWrapper (const NeighborSearchMode searchMode, const double epsilon)
 Construct the NSWrapper object, initializing the internally-held NeighborSearch object. More...
 
virtual ~NSWrapper ()
 Delete the NSWrapper object.
 
virtual NSWrapperClone () const
 Create a copy of this NSWrapper object. More...
 
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 Train (arma::mat &&referenceSet, const size_t, const double, const double)
 Train the model with the given options. More...
 
virtual void Search (arma::mat &&querySet, const size_t k, arma::Mat< size_t > &neighbors, arma::mat &distances, const size_t, const double)
 Perform bichromatic neighbor search (i.e. More...
 
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).
 

Protected Types

typedef NeighborSearch< SortPolicy, metric::EuclideanDistance, arma::mat, TreeType, DualTreeTraversalType, SingleTreeTraversalType > NSType
 

Protected Attributes

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::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >

NSWrapper is a wrapper class for most NeighborSearch types.

Constructor & Destructor Documentation

◆ NSWrapper()

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::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >::NSWrapper ( const NeighborSearchMode  searchMode,
const double  epsilon 
)
inline

Construct the NSWrapper object, initializing the internally-held NeighborSearch object.

Member Function Documentation

◆ Clone()

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>
virtual NSWrapper* mlpack::neighbor::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >::Clone ( ) const
inlinevirtual

◆ Search() [1/2]

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::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >::Search ( arma::mat &&  querySet,
const size_t  k,
arma::Mat< size_t > &  neighbors,
arma::mat &  distances,
const size_t  ,
const double   
)
virtual

Perform bichromatic neighbor search (i.e.

search with a separate query set). For NSWrapper, we ignore the extra parameters.

Implements mlpack::neighbor::NSWrapperBase.

Reimplemented in mlpack::neighbor::SpillNSWrapper< SortPolicy >, and mlpack::neighbor::LeafSizeNSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >.

◆ Search() [2/2]

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::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >::Search ( const size_t  k,
arma::Mat< size_t > &  neighbors,
arma::mat &  distances 
)
virtual

Perform monochromatic neighbor search (i.e.

use the reference set as the query set).

Implements mlpack::neighbor::NSWrapperBase.

◆ 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::NSWrapper< SortPolicy, TreeType, DualTreeTraversalType, SingleTreeTraversalType >::Train ( arma::mat &&  referenceSet,
const size_t  ,
const double  ,
const double   
)
virtual

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