[mlpack-git] [mlpack/mlpack] Random projection trees (#726)

lozhnikov notifications at github.com
Mon Jul 18 09:38:12 EDT 2016


I added an implementation of random projection trees. The RPTreeMax variant is implemented slightly different since the technique for the calculation of a random deviation suggested in the paper is weird. And I use a number of random dataset points instead of all points in order to calculate the median value and the average distance between points.

Since the norm in the paper always denotes Euclidean distance I wrote `arma::dot` in order to calculate the scalar product of two vectors.

Right now, the tree use `HRectBound`.
You can view, comment on, or merge this pull request online at:

  https://github.com/mlpack/mlpack/pull/726

-- Commit Summary --

  * Added random projection trees.
  * Added random projection trees to NSModel and RSModel.

-- File Changes --

    M src/mlpack/core/tree/CMakeLists.txt (4)
    M src/mlpack/core/tree/binary_space_tree.hpp (2)
    M src/mlpack/core/tree/binary_space_tree/binary_space_tree.hpp (36)
    M src/mlpack/core/tree/binary_space_tree/binary_space_tree_impl.hpp (138)
    M src/mlpack/core/tree/binary_space_tree/mean_split.hpp (88)
    M src/mlpack/core/tree/binary_space_tree/mean_split_impl.hpp (201)
    M src/mlpack/core/tree/binary_space_tree/midpoint_split.hpp (89)
    M src/mlpack/core/tree/binary_space_tree/midpoint_split_impl.hpp (186)
    A src/mlpack/core/tree/binary_space_tree/rp_tree_max_split.hpp (130)
    A src/mlpack/core/tree/binary_space_tree/rp_tree_max_split_impl.hpp (156)
    A src/mlpack/core/tree/binary_space_tree/rp_tree_mean_split.hpp (144)
    A src/mlpack/core/tree/binary_space_tree/rp_tree_mean_split_impl.hpp (191)
    M src/mlpack/core/tree/binary_space_tree/traits.hpp (72)
    M src/mlpack/core/tree/binary_space_tree/typedef.hpp (14)
    M src/mlpack/methods/neighbor_search/kfn_main.cpp (19)
    M src/mlpack/methods/neighbor_search/knn_main.cpp (19)
    M src/mlpack/methods/neighbor_search/ns_model.hpp (8)
    M src/mlpack/methods/neighbor_search/ns_model_impl.hpp (12)
    M src/mlpack/methods/range_search/range_search_main.cpp (18)
    M src/mlpack/methods/range_search/rs_model.cpp (40)
    M src/mlpack/methods/range_search/rs_model.hpp (10)
    M src/mlpack/methods/range_search/rs_model_impl.hpp (28)
    M src/mlpack/tests/aknn_test.cpp (20)
    M src/mlpack/tests/knn_test.cpp (16)
    M src/mlpack/tests/range_search_test.cpp (16)
    M src/mlpack/tests/tree_test.cpp (84)

-- Patch Links --

https://github.com/mlpack/mlpack/pull/726.patch
https://github.com/mlpack/mlpack/pull/726.diff

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/mlpack/mlpack/pull/726
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20160718/5cbb8d20/attachment-0001.html>


More information about the mlpack-git mailing list