mlpack 3.4.2
|
The RAModel class provides an abstraction for the RASearch class, abstracting away the TreeType parameter and allowing it to be specified at runtime in this class. More...
#include <ra_model.hpp>
Public Types | |
enum | TreeTypes { KD_TREE , COVER_TREE , R_TREE , R_STAR_TREE , X_TREE , HILBERT_R_TREE , R_PLUS_TREE , R_PLUS_PLUS_TREE , UB_TREE , OCTREE } |
The list of tree types we can use with RASearch. More... | |
Public Member Functions | |
RAModel (const RAModel &other) | |
Copy the given RAModel. More... | |
RAModel (RAModel &&other) | |
Take ownership of the given RAModel. More... | |
RAModel (TreeTypes treeType=TreeTypes::KD_TREE, bool randomBasis=false) | |
Initialize the RAModel with the given type and whether or not a random basis should be used. More... | |
~RAModel () | |
Clean memory, if necessary. More... | |
double & | Alpha () |
Modify the desired success probability. More... | |
double | Alpha () const |
Get the desired success probability. 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... | |
bool & | FirstLeafExact () |
Modify whether or not we traverse to the first leaf without approximation. More... | |
bool | FirstLeafExact () const |
Get whether or not we traverse to the first leaf without approximation. More... | |
size_t & | LeafSize () |
Modify the leaf size (only relevant when the kd-tree is used). More... | |
size_t | LeafSize () const |
Get the leaf size (only relevant when the kd-tree is used). More... | |
bool & | Naive () |
Modify whether or not naive search is being used. More... | |
bool | Naive () const |
Get whether or not naive search is being used. More... | |
RAModel & | operator= (const RAModel &other) |
Copy the given RAModel. More... | |
RAModel & | operator= (RAModel &&other) |
Take ownership of the given RAModel. More... | |
bool & | RandomBasis () |
Modify whether or not a random basis is being used. More... | |
bool | RandomBasis () const |
Get whether or not a random basis is being used. More... | |
bool & | SampleAtLeaves () |
Modify whether or not sampling is done at the leaves. More... | |
bool | SampleAtLeaves () const |
Get whether or not sampling is done at the leaves. More... | |
void | Search (arma::mat &&querySet, const size_t k, arma::Mat< size_t > &neighbors, arma::mat &distances) |
Perform rank-approximate neighbor search, taking ownership of the query set. More... | |
void | Search (const size_t k, arma::Mat< size_t > &neighbors, arma::mat &distances) |
Perform rank-approximate neighbor search, using the reference set as the query set. More... | |
template<typename Archive > | |
void | serialize (Archive &ar, const unsigned int) |
Serialize the model. More... | |
bool & | SingleMode () |
Modify whether or not single-tree search is being used. More... | |
bool | SingleMode () const |
Get whether or not single-tree search is being used. More... | |
size_t & | SingleSampleLimit () |
Modify the limit on the size of a node that can be approximation. More... | |
size_t | SingleSampleLimit () const |
Get the limit on the size of a node that can be approximated. More... | |
double & | Tau () |
Modify the rank-approximation in percentile of the data. More... | |
double | Tau () const |
Get the rank-approximation in percentile of the data. More... | |
std::string | TreeName () const |
Get the name of the tree type. More... | |
TreeTypes & | TreeType () |
Modify the type of tree being used. More... | |
TreeTypes | TreeType () const |
Get the type of tree being used. More... | |
The RAModel class provides an abstraction for the RASearch class, abstracting away the TreeType parameter and allowing it to be specified at runtime in this class.
This class is written for the sake of the 'allkrann' program, but is not necessarily restricted to that use.
SortPolicy | Sorting policy for neighbor searching (see RASearch). |
Definition at line 271 of file ra_model.hpp.
enum TreeTypes |
The list of tree types we can use with RASearch.
Does not include ball trees; see #338.
Enumerator | |
---|---|
KD_TREE | |
COVER_TREE | |
R_TREE | |
R_STAR_TREE | |
X_TREE | |
HILBERT_R_TREE | |
R_PLUS_TREE | |
R_PLUS_PLUS_TREE | |
UB_TREE | |
OCTREE |
Definition at line 278 of file ra_model.hpp.
Initialize the RAModel with the given type and whether or not a random basis should be used.
~RAModel | ( | ) |
Clean memory, if necessary.
double & Alpha | ( | ) |
Modify the desired success probability.
double Alpha | ( | ) | const |
Get the desired success probability.
void BuildModel | ( | arma::mat && | referenceSet, |
const size_t | leafSize, | ||
const bool | naive, | ||
const bool | singleMode | ||
) |
Build the reference tree.
const arma::mat & Dataset | ( | ) | const |
Expose the dataset.
bool & FirstLeafExact | ( | ) |
Modify whether or not we traverse to the first leaf without approximation.
bool FirstLeafExact | ( | ) | const |
Get whether or not we traverse to the first leaf without approximation.
size_t & LeafSize | ( | ) |
Modify the leaf size (only relevant when the kd-tree is used).
size_t LeafSize | ( | ) | const |
Get the leaf size (only relevant when the kd-tree is used).
bool & Naive | ( | ) |
Modify whether or not naive search is being used.
bool Naive | ( | ) | const |
Get whether or not naive search is being used.
bool & RandomBasis | ( | ) |
Modify whether or not a random basis is being used.
Be sure to rebuild the model using BuildModel().
bool RandomBasis | ( | ) | const |
Get whether or not a random basis is being used.
bool & SampleAtLeaves | ( | ) |
Modify whether or not sampling is done at the leaves.
bool SampleAtLeaves | ( | ) | const |
Get whether or not sampling is done at the leaves.
void Search | ( | arma::mat && | querySet, |
const size_t | k, | ||
arma::Mat< size_t > & | neighbors, | ||
arma::mat & | distances | ||
) |
Perform rank-approximate neighbor search, taking ownership of the query set.
void Search | ( | const size_t | k, |
arma::Mat< size_t > & | neighbors, | ||
arma::mat & | distances | ||
) |
Perform rank-approximate neighbor search, using the reference set as the query set.
void serialize | ( | Archive & | ar, |
const unsigned int | |||
) |
Serialize the model.
bool & SingleMode | ( | ) |
Modify whether or not single-tree search is being used.
bool SingleMode | ( | ) | const |
Get whether or not single-tree search is being used.
size_t & SingleSampleLimit | ( | ) |
Modify the limit on the size of a node that can be approximation.
size_t SingleSampleLimit | ( | ) | const |
Get the limit on the size of a node that can be approximated.
double & Tau | ( | ) |
Modify the rank-approximation in percentile of the data.
double Tau | ( | ) | const |
Get the rank-approximation in percentile of the data.
std::string TreeName | ( | ) | const |
Get the name of the tree type.
TreeTypes & TreeType | ( | ) |
Modify the type of tree being used.
TreeTypes TreeType | ( | ) | const |
Get the type of tree being used.