mlpack  2.0.1
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
mlpack::neighbor::NSModel< SortPolicy > Class Template Reference

Public Types

enum  TreeTypes {
  KD_TREE,
  COVER_TREE,
  R_TREE,
  R_STAR_TREE,
  BALL_TREE
}
 

Public Member Functions

 NSModel (int treeType=TreeTypes::KD_TREE, bool randomBasis=false)
 Initialize the NSModel with the given type and whether or not a random basis should be used. More...
 
 ~NSModel ()
 Clean memory, if necessary. More...
 
void BuildModel (arma::mat &&referenceSet, const size_t leafSize, const bool naive, const bool singleMode)
 Build the reference tree. More...
 
const arma::mat & Dataset () const
 Expose the dataset. More...
 
size_t LeafSize () const
 
size_t & LeafSize ()
 
bool Naive () const
 
bool & Naive ()
 
bool RandomBasis () const
 
bool & RandomBasis ()
 
void Search (arma::mat &&querySet, const size_t k, arma::Mat< size_t > &neighbors, arma::mat &distances)
 Perform neighbor search. The query set will be reordered. More...
 
void Search (const size_t k, arma::Mat< size_t > &neighbors, arma::mat &distances)
 Perform neighbor search. More...
 
template<typename Archive >
void Serialize (Archive &ar, const unsigned int)
 Serialize the neighbor search model. More...
 
bool SingleMode () const
 Expose singleMode. More...
 
bool & SingleMode ()
 
std::string TreeName () const
 
int TreeType () const
 
int & TreeType ()
 

Private Types

template<template< typename TreeMetricType, typename TreeStatType, typename TreeMatType > class TreeType>
using NSType = NeighborSearch< SortPolicy, metric::EuclideanDistance, arma::mat, TreeType, TreeType< metric::EuclideanDistance, NeighborSearchStat< SortPolicy >, arma::mat >::template DualTreeTraverser >
 

Private Attributes

NSType< tree::BallTree > * ballTreeNS
 
NSType< tree::StandardCoverTree > * coverTreeNS
 
NSType< tree::KDTree > * kdTreeNS
 
size_t leafSize
 
arma::mat q
 
bool randomBasis
 
NSType< tree::RStarTree > * rStarTreeNS
 
NSType< tree::RTree > * rTreeNS
 
int treeType
 

Detailed Description

template<typename SortPolicy>
class mlpack::neighbor::NSModel< SortPolicy >

Definition at line 38 of file neighbor_search.hpp.

Member Typedef Documentation

template<typename SortPolicy >
template<template< typename TreeMetricType, typename TreeStatType, typename TreeMatType > class TreeType>
using mlpack::neighbor::NSModel< SortPolicy >::NSType = NeighborSearch<SortPolicy, metric::EuclideanDistance, arma::mat, TreeType, TreeType<metric::EuclideanDistance, NeighborSearchStat<SortPolicy>, arma::mat>::template DualTreeTraverser>
private

Definition at line 77 of file ns_model.hpp.

Member Enumeration Documentation

template<typename SortPolicy >
enum mlpack::neighbor::NSModel::TreeTypes
Enumerator
KD_TREE 
COVER_TREE 
R_TREE 
R_STAR_TREE 
BALL_TREE 

Definition at line 51 of file ns_model.hpp.

Constructor & Destructor Documentation

template<typename SortPolicy >
mlpack::neighbor::NSModel< SortPolicy >::NSModel ( int  treeType = TreeTypes::KD_TREE,
bool  randomBasis = false 
)

Initialize the NSModel with the given type and whether or not a random basis should be used.

template<typename SortPolicy >
mlpack::neighbor::NSModel< SortPolicy >::~NSModel ( )

Clean memory, if necessary.

Member Function Documentation

template<typename SortPolicy >
void mlpack::neighbor::NSModel< SortPolicy >::BuildModel ( arma::mat &&  referenceSet,
const size_t  leafSize,
const bool  naive,
const bool  singleMode 
)

Build the reference tree.

template<typename SortPolicy >
const arma::mat& mlpack::neighbor::NSModel< SortPolicy >::Dataset ( ) const

Expose the dataset.

template<typename SortPolicy >
size_t mlpack::neighbor::NSModel< SortPolicy >::LeafSize ( ) const
inline

Definition at line 110 of file ns_model.hpp.

References mlpack::neighbor::NSModel< SortPolicy >::leafSize.

template<typename SortPolicy >
size_t& mlpack::neighbor::NSModel< SortPolicy >::LeafSize ( )
inline

Definition at line 111 of file ns_model.hpp.

References mlpack::neighbor::NSModel< SortPolicy >::leafSize.

template<typename SortPolicy >
bool mlpack::neighbor::NSModel< SortPolicy >::Naive ( ) const
template<typename SortPolicy >
bool& mlpack::neighbor::NSModel< SortPolicy >::Naive ( )
template<typename SortPolicy >
bool mlpack::neighbor::NSModel< SortPolicy >::RandomBasis ( ) const
inline
template<typename SortPolicy >
bool& mlpack::neighbor::NSModel< SortPolicy >::RandomBasis ( )
inline
template<typename SortPolicy >
void mlpack::neighbor::NSModel< SortPolicy >::Search ( arma::mat &&  querySet,
const size_t  k,
arma::Mat< size_t > &  neighbors,
arma::mat &  distances 
)

Perform neighbor search. The query set will be reordered.

template<typename SortPolicy >
void mlpack::neighbor::NSModel< SortPolicy >::Search ( const size_t  k,
arma::Mat< size_t > &  neighbors,
arma::mat &  distances 
)

Perform neighbor search.

template<typename SortPolicy >
template<typename Archive >
void mlpack::neighbor::NSModel< SortPolicy >::Serialize ( Archive &  ar,
const unsigned  int 
)

Serialize the neighbor search model.

template<typename SortPolicy >
bool mlpack::neighbor::NSModel< SortPolicy >::SingleMode ( ) const

Expose singleMode.

template<typename SortPolicy >
bool& mlpack::neighbor::NSModel< SortPolicy >::SingleMode ( )
template<typename SortPolicy >
std::string mlpack::neighbor::NSModel< SortPolicy >::TreeName ( ) const
template<typename SortPolicy >
int mlpack::neighbor::NSModel< SortPolicy >::TreeType ( ) const
inline

Definition at line 113 of file ns_model.hpp.

References mlpack::neighbor::NSModel< SortPolicy >::treeType.

template<typename SortPolicy >
int& mlpack::neighbor::NSModel< SortPolicy >::TreeType ( )
inline

Definition at line 114 of file ns_model.hpp.

References mlpack::neighbor::NSModel< SortPolicy >::treeType.

Member Data Documentation

template<typename SortPolicy >
NSType<tree::BallTree>* mlpack::neighbor::NSModel< SortPolicy >::ballTreeNS
private

Definition at line 84 of file ns_model.hpp.

template<typename SortPolicy >
NSType<tree::StandardCoverTree>* mlpack::neighbor::NSModel< SortPolicy >::coverTreeNS
private

Definition at line 81 of file ns_model.hpp.

template<typename SortPolicy >
NSType<tree::KDTree>* mlpack::neighbor::NSModel< SortPolicy >::kdTreeNS
private

Definition at line 80 of file ns_model.hpp.

template<typename SortPolicy >
size_t mlpack::neighbor::NSModel< SortPolicy >::leafSize
private

Definition at line 62 of file ns_model.hpp.

Referenced by mlpack::neighbor::NSModel< SortPolicy >::LeafSize().

template<typename SortPolicy >
arma::mat mlpack::neighbor::NSModel< SortPolicy >::q
private

Definition at line 66 of file ns_model.hpp.

template<typename SortPolicy >
bool mlpack::neighbor::NSModel< SortPolicy >::randomBasis
private

Definition at line 65 of file ns_model.hpp.

Referenced by mlpack::neighbor::NSModel< SortPolicy >::RandomBasis().

template<typename SortPolicy >
NSType<tree::RStarTree>* mlpack::neighbor::NSModel< SortPolicy >::rStarTreeNS
private

Definition at line 83 of file ns_model.hpp.

template<typename SortPolicy >
NSType<tree::RTree>* mlpack::neighbor::NSModel< SortPolicy >::rTreeNS
private

Definition at line 82 of file ns_model.hpp.

template<typename SortPolicy >
int mlpack::neighbor::NSModel< SortPolicy >::treeType
private

Definition at line 61 of file ns_model.hpp.

Referenced by mlpack::neighbor::NSModel< SortPolicy >::TreeType().


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