Classes | |
class | AlphaVisitor |
Exposes the Alpha() method of the given RAType. More... | |
class | BiSearchVisitor |
BiSearchVisitor executes a bichromatic neighbor search on the given NSType. More... | |
class | DeleteVisitor |
DeleteVisitor deletes the given NSType instance. More... | |
class | DrusillaSelect |
class | EpsilonVisitor |
EpsilonVisitor exposes the Epsilon method of the given NSType. More... | |
class | FirstLeafExactVisitor |
Exposes the FirstLeafExact() method of the given RAType. More... | |
class | FurthestNS |
This class implements the necessary methods for the SortPolicy template parameter of the NeighborSearch class. More... | |
class | LSHSearch |
The LSHSearch class; this class builds a hash on the reference set and uses this hash to compute the distance-approximate nearest-neighbors of the given queries. More... | |
class | MonoSearchVisitor |
MonoSearchVisitor executes a monochromatic neighbor search on the given NSType. More... | |
class | NaiveVisitor |
NaiveVisitor exposes the Naive() method of the given RAType. More... | |
class | NearestNS |
This class implements the necessary methods for the SortPolicy template parameter of the NeighborSearch class. More... | |
class | NeighborSearch |
The NeighborSearch class is a template class for performing distance-based neighbor searches. More... | |
class | NeighborSearchRules |
The NeighborSearchRules class is a template helper class used by NeighborSearch class when performing distance-based neighbor searches. More... | |
class | NeighborSearchStat |
Extra data for each node in the tree. More... | |
class | NSModel |
The NSModel class provides an easy way to serialize a model, abstracts away the different types of trees, and also reflects the NeighborSearch API. More... | |
class | QDAFN |
class | RAModel |
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... | |
class | RAQueryStat |
Extra data for each node in the tree. More... | |
class | RASearch |
The RASearch class: This class provides a generic manner to perform rank-approximate search via random-sampling. More... | |
class | RASearchRules |
The RASearchRules class is a template helper class used by RASearch class when performing rank-approximate search via random-sampling. More... | |
class | RAUtil |
class | ReferenceSetVisitor |
ReferenceSetVisitor exposes the referenceSet of the given NSType. More... | |
class | SampleAtLeavesVisitor |
Exposes the SampleAtLeaves() method of the given RAType. More... | |
class | SearchModeVisitor |
SearchModeVisitor exposes the SearchMode() method of the given NSType. More... | |
class | SingleModeVisitor |
Exposes the SingleMode() method of the given RAType. More... | |
class | SingleSampleLimitVisitor |
Exposes the SingleSampleLimit() method of the given RAType. More... | |
class | TauVisitor |
Exposes the Tau() method of the given RAType. More... | |
class | TrainVisitor |
TrainVisitor sets the reference set to a new reference set on the given NSType. More... | |
Typedefs | |
template < template < typename TreeMetricType , typename TreeStatType , typename TreeMatType > class TreeType = tree::SPTree > | |
using | DefeatistKNN = NeighborSearch< NearestNeighborSort, metric::EuclideanDistance, arma::mat, TreeType, TreeType< metric::EuclideanDistance, NeighborSearchStat< NearestNeighborSort >, arma::mat >::template DefeatistDualTreeTraverser, TreeType< metric::EuclideanDistance, NeighborSearchStat< NearestNeighborSort >, arma::mat >::template DefeatistSingleTreeTraverser > |
The DefeatistKNN class is the k-nearest-neighbors method considering defeatist search. More... | |
using | FurthestNeighborSort = FurthestNS |
typedef NeighborSearch< FurthestNeighborSort, metric::EuclideanDistance > | KFN |
The KFN class is the k-furthest-neighbors method. More... | |
typedef NeighborSearch< NearestNeighborSort, metric::EuclideanDistance > | KNN |
The KNN class is the k-nearest-neighbors method. More... | |
typedef RASearch< FurthestNeighborSort > | KRAFN |
The KRAFN class is the k-rank-approximate-farthest-neighbors method. More... | |
typedef RASearch | KRANN |
The KRANN class is the k-rank-approximate-nearest-neighbors method. More... | |
using | NearestNeighborSort = NearestNS |
template < typename SortPolicy , 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 > |
Alias template for euclidean neighbor search. More... | |
template < typename SortPolicy , template < typename TreeMetricType , typename TreeStatType , typename TreeMatType > class TreeType > | |
using | RAType = RASearch< SortPolicy, metric::EuclideanDistance, arma::mat, TreeType > |
Alias template for RASearch. More... | |
typedef DefeatistKNN< tree::SPTree > | SpillKNN |
The SpillKNN class is the k-nearest-neighbors method considering defeatist search on SPTree. More... | |
Enumerations | |
enum | NeighborSearchMode { NAIVE_MODE , SINGLE_TREE_MODE , DUAL_TREE_MODE , GREEDY_SINGLE_TREE_MODE } |
NeighborSearchMode represents the different neighbor search modes available. More... | |
Functions | |
void | Unmap (const arma::Mat< size_t > &neighbors, const arma::mat &distances, const std::vector< size_t > &referenceMap, const std::vector< size_t > &queryMap, arma::Mat< size_t > &neighborsOut, arma::mat &distancesOut, const bool squareRoot=false) |
Assuming that the datasets have been mapped using the referenceMap and the queryMap (such as during kd-tree construction), unmap the columns of the distances and neighbors matrices into neighborsOut and distancesOut, and also unmap the entries in each row of neighbors. More... | |
void | Unmap (const arma::Mat< size_t > &neighbors, const arma::mat &distances, const std::vector< size_t > &referenceMap, arma::Mat< size_t > &neighborsOut, arma::mat &distancesOut, const bool squareRoot=false) |
Assuming that the datasets have been mapped using referenceMap (such as during kd-tree construction), unmap the columns of the distances and neighbors matrices into neighborsOut and distancesOut, and also unmap the entries in each row of neighbors. More... | |
using DefeatistKNN = NeighborSearch< NearestNeighborSort, metric::EuclideanDistance, arma::mat, TreeType, TreeType<metric::EuclideanDistance, NeighborSearchStat<NearestNeighborSort>, arma::mat>::template DefeatistDualTreeTraverser, TreeType<metric::EuclideanDistance, NeighborSearchStat<NearestNeighborSort>, arma::mat>::template DefeatistSingleTreeTraverser> |
The DefeatistKNN class is the k-nearest-neighbors method considering defeatist search.
It returns L2 distances (Euclidean distances) for each of the k nearest neighbors found.
TreeType | The tree type to use; must adhere to the TreeType API, and implement Defeatist Traversers. |
Definition at line 60 of file typedef.hpp.
using FurthestNeighborSort = FurthestNS |
Definition at line 201 of file furthest_neighbor_sort.hpp.
The KFN class is the k-furthest-neighbors method.
It returns L2 distances (Euclidean distances) for each of the k furthest neighbors.
Definition at line 38 of file typedef.hpp.
The KNN class is the k-nearest-neighbors method.
It returns L2 distances (Euclidean distances) for each of the k nearest neighbors.
Definition at line 32 of file typedef.hpp.
typedef RASearch<FurthestNeighborSort> KRAFN |
The KRAFN class is the k-rank-approximate-farthest-neighbors method.
It returns L2 distances for each of the k rank-approximate farthest-neighbors.
The approximation is controlled with two parameters (see allkrann_main.cpp) which can be specified at search time. So the tree building is done only once while the search can be performed multiple times with different approximation levels.
Definition at line 47 of file ra_typedef.hpp.
The KRANN class is the k-rank-approximate-nearest-neighbors method.
It returns L2 distances for each of the k rank-approximate nearest-neighbors.
The approximation is controlled with two parameters (see allkrann_main.cpp) which can be specified at search time. So the tree building is done only once while the search can be performed multiple times with different approximation levels.
Definition at line 36 of file ra_typedef.hpp.
using NearestNeighborSort = NearestNS |
Definition at line 200 of file nearest_neighbor_sort.hpp.
using NSType = NeighborSearch<SortPolicy, metric::EuclideanDistance, arma::mat, TreeType, TreeType<metric::EuclideanDistance, NeighborSearchStat<SortPolicy>, arma::mat>::template DualTreeTraverser> |
Alias template for euclidean neighbor search.
Definition at line 42 of file ns_model.hpp.
using RAType = RASearch<SortPolicy, metric::EuclideanDistance, arma::mat, TreeType> |
Alias template for RASearch.
Definition at line 37 of file ra_model.hpp.
typedef DefeatistKNN<tree::SPTree> SpillKNN |
The SpillKNN class is the k-nearest-neighbors method considering defeatist search on SPTree.
It returns L2 distances (Euclidean distances) for each of the k nearest neighbors found.
Definition at line 67 of file typedef.hpp.
enum NeighborSearchMode |
NeighborSearchMode represents the different neighbor search modes available.
Enumerator | |
---|---|
NAIVE_MODE | |
SINGLE_TREE_MODE | |
DUAL_TREE_MODE | |
GREEDY_SINGLE_TREE_MODE |
Definition at line 38 of file neighbor_search.hpp.
void mlpack::neighbor::Unmap | ( | const arma::Mat< size_t > & | neighbors, |
const arma::mat & | distances, | ||
const std::vector< size_t > & | referenceMap, | ||
const std::vector< size_t > & | queryMap, | ||
arma::Mat< size_t > & | neighborsOut, | ||
arma::mat & | distancesOut, | ||
const bool | squareRoot = false |
||
) |
Assuming that the datasets have been mapped using the referenceMap and the queryMap (such as during kd-tree construction), unmap the columns of the distances and neighbors matrices into neighborsOut and distancesOut, and also unmap the entries in each row of neighbors.
This is useful for the dual-tree case.
neighbors | Matrix of neighbors resulting from neighbor search. |
distances | Matrix of distances resulting from neighbor search. |
referenceMap | Mapping of reference set to old points. |
queryMap | Mapping of query set to old points. |
neighborsOut | Matrix to store unmapped neighbors into. |
distancesOut | Matrix to store unmapped distances into. |
squareRoot | If true, take the square root of the distances. |
void mlpack::neighbor::Unmap | ( | const arma::Mat< size_t > & | neighbors, |
const arma::mat & | distances, | ||
const std::vector< size_t > & | referenceMap, | ||
arma::Mat< size_t > & | neighborsOut, | ||
arma::mat & | distancesOut, | ||
const bool | squareRoot = false |
||
) |
Assuming that the datasets have been mapped using referenceMap (such as during kd-tree construction), unmap the columns of the distances and neighbors matrices into neighborsOut and distancesOut, and also unmap the entries in each row of neighbors.
This is useful for the single-tree case.
neighbors | Matrix of neighbors resulting from neighbor search. |
distances | Matrix of distances resulting from neighbor search. |
referenceMap | Mapping of reference set to old points. |
neighborsOut | Matrix to store unmapped neighbors into. |
distancesOut | Matrix to store unmapped distances into. |
squareRoot | If true, take the square root of the distances. |