mlpack  3.4.2
lmetric_search.hpp
Go to the documentation of this file.
1 
12 #ifndef MLPACK_METHODS_CF_LMETRIC_SEARCH_HPP
13 #define MLPACK_METHODS_CF_LMETRIC_SEARCH_HPP
14 
15 #include <mlpack/prereqs.hpp>
18 
19 namespace mlpack {
20 namespace cf {
21 
41 template<int TPower>
43 {
44  public:
48 
52  LMetricSearch(const arma::mat& referenceSet) : neighborSearch(referenceSet)
53  { }
54 
64  void Search(const arma::mat& query, const size_t k,
65  arma::Mat<size_t>& neighbors, arma::mat& similarities)
66  {
67  neighborSearch.Search(query, k, neighbors, similarities);
68 
69  // Calculate similarities from L_p distance. We restrict that similarities
70  // are not larger than one.
71  similarities = 1.0 / (1.0 + similarities);
72  }
73 
74  private:
76  NeighborSearchType neighborSearch;
77 };
78 
80 
81 } // namespace cf
82 } // namespace mlpack
83 
84 #endif
prereqs.hpp
The core includes that mlpack expects; standard C++ includes and Armadillo.
lmetric.hpp
neighbor_search.hpp
mlpack
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: add_to_cli11.hpp:21
mlpack::cf::LMetricSearch::Search
void Search(const arma::mat &query, const size_t k, arma::Mat< size_t > &neighbors, arma::mat &similarities)
Given a set of query points, find the nearest k neighbors, and return similarites.
Definition: lmetric_search.hpp:64
mlpack::cf::LMetricSearch
Nearest neighbor search with L_p distance.
Definition: lmetric_search.hpp:43
mlpack::neighbor::NearestNeighborSort
NearestNS NearestNeighborSort
Definition: nearest_neighbor_sort.hpp:200
mlpack::neighbor::NeighborSearch< neighbor::NearestNeighborSort, metric::LMetric< TPower, true > >
mlpack::cf::LMetricSearch::NeighborSearchType
neighbor::NeighborSearch< neighbor::NearestNeighborSort, metric::LMetric< TPower, true > > NeighborSearchType
Definition: lmetric_search.hpp:47
mlpack::metric::LMetric< TPower, true >
mlpack::cf::LMetricSearch::LMetricSearch
LMetricSearch(const arma::mat &referenceSet)
Definition: lmetric_search.hpp:52
mlpack::neighbor::NeighborSearch::Search
void Search(const MatType &querySet, const size_t k, arma::Mat< size_t > &neighbors, arma::mat &distances)
For each point in the query set, compute the nearest neighbors and store the output in the given matr...