mlpack
2.2.5
|
Public Types | |
enum | TreeTypes { KD_TREE, COVER_TREE, R_TREE, R_STAR_TREE, BALL_TREE, X_TREE, HILBERT_R_TREE, R_PLUS_TREE, R_PLUS_PLUS_TREE, VP_TREE, RP_TREE, MAX_RP_TREE, UB_TREE, OCTREE } |
Public Member Functions | |
RSModel (const TreeTypes treeType=TreeTypes::KD_TREE, const bool randomBasis=false) | |
Initialize the RSModel with the given type and whether or not a random basis should be used. More... | |
RSModel (const RSModel &other) | |
Copy constructor. More... | |
RSModel (RSModel &&other) | |
Move constructor. More... | |
~RSModel () | |
Clean memory, if necessary. More... | |
void | BuildModel (arma::mat &&referenceSet, const size_t leafSize, const bool naive, const bool singleMode) |
Build the reference tree on the given dataset with the given parameters. More... | |
const arma::mat & | Dataset () const |
Expose the dataset. More... | |
size_t | LeafSize () const |
Get the leaf size (applicable to everything but the cover tree). More... | |
size_t & | LeafSize () |
Modify the leaf size (applicable to everything but the cover tree). More... | |
bool | Naive () const |
Get whether the model is in naive search mode. More... | |
bool & | Naive () |
Modify whether the model is in naive search mode. More... | |
RSModel & | operator= (const RSModel &other) |
Copy operator. More... | |
RSModel & | operator= (RSModel &&other) |
Move operator. More... | |
bool | RandomBasis () const |
Get whether a random basis is used. More... | |
bool & | RandomBasis () |
Modify whether a random basis is used (don't do this after the model has been built). More... | |
void | Search (arma::mat &&querySet, const math::Range &range, std::vector< std::vector< size_t >> &neighbors, std::vector< std::vector< double >> &distances) |
Perform range search. More... | |
void | Search (const math::Range &range, std::vector< std::vector< size_t >> &neighbors, std::vector< std::vector< double >> &distances) |
Perform monochromatic range search, with the reference set as the query set. More... | |
template<typename Archive > | |
void | Serialize (Archive &ar, const unsigned int) |
Serialize the range search model. More... | |
bool | SingleMode () const |
Get whether the model is in single-tree search mode. More... | |
bool & | SingleMode () |
Modify whether the model is in single-tree search mode. More... | |
TreeTypes | TreeType () const |
Get the type of tree. More... | |
TreeTypes & | TreeType () |
Modify the type of tree (don't do this after the model has been built). More... | |
Definition at line 238 of file rs_model.hpp.
enum TreeTypes |
Enumerator | |
---|---|
KD_TREE | |
COVER_TREE | |
R_TREE | |
R_STAR_TREE | |
BALL_TREE | |
X_TREE | |
HILBERT_R_TREE | |
R_PLUS_TREE | |
R_PLUS_PLUS_TREE | |
VP_TREE | |
RP_TREE | |
MAX_RP_TREE | |
UB_TREE | |
OCTREE |
Definition at line 241 of file rs_model.hpp.
Initialize the RSModel with the given type and whether or not a random basis should be used.
treeType | Type of tree to use. |
randomBasis | Whether or not to use a random basis. |
~RSModel | ( | ) |
Clean memory, if necessary.
void BuildModel | ( | arma::mat && | referenceSet, |
const size_t | leafSize, | ||
const bool | naive, | ||
const bool | singleMode | ||
) |
Build the reference tree on the given dataset with the given parameters.
This takes possession of the reference set to avoid a copy.
referenceSet | Set of reference points. |
leafSize | Leaf size of tree (ignored for the cover tree). |
naive | Whether naive search should be used. |
singleMode | Whether single-tree search should be used. |
const arma::mat& Dataset | ( | ) | const |
Expose the dataset.
|
inline |
Get the leaf size (applicable to everything but the cover tree).
Definition at line 331 of file rs_model.hpp.
|
inline |
Modify the leaf size (applicable to everything but the cover tree).
Definition at line 333 of file rs_model.hpp.
bool Naive | ( | ) | const |
Get whether the model is in naive search mode.
bool& Naive | ( | ) |
Modify whether the model is in naive search mode.
|
inline |
Get whether a random basis is used.
Definition at line 341 of file rs_model.hpp.
|
inline |
Modify whether a random basis is used (don't do this after the model has been built).
Definition at line 344 of file rs_model.hpp.
void Search | ( | arma::mat && | querySet, |
const math::Range & | range, | ||
std::vector< std::vector< size_t >> & | neighbors, | ||
std::vector< std::vector< double >> & | distances | ||
) |
Perform range search.
This takes possession of the query set, so the query set will not be usable after the search. For more information on the output format, see RangeSearch<>::Search().
querySet | Set of query points. |
range | Range to search for. |
neighbors | Output: neighbors falling within the desired range. |
distances | Output: distances of neighbors. |
void Search | ( | const math::Range & | range, |
std::vector< std::vector< size_t >> & | neighbors, | ||
std::vector< std::vector< double >> & | distances | ||
) |
Perform monochromatic range search, with the reference set as the query set.
For more information on the output format, see RangeSearch<>::Search().
range | Range to search for. |
neighbors | Output: neighbors falling within the desired range. |
distances | Output: distances of neighbors. |
void Serialize | ( | Archive & | ar, |
const unsigned | int | ||
) |
Serialize the range search model.
bool SingleMode | ( | ) | const |
Get whether the model is in single-tree search mode.
bool& SingleMode | ( | ) |
Modify whether the model is in single-tree search mode.
|
inline |
Get the type of tree.
Definition at line 336 of file rs_model.hpp.
|
inline |
Modify the type of tree (don't do this after the model has been built).
Definition at line 338 of file rs_model.hpp.