16 #ifndef __MLPACK_CORE_TREE_BINARY_SPACE_TREE_MEAN_SPLIT_HPP
17 #define __MLPACK_CORE_TREE_BINARY_SPACE_TREE_MEAN_SPLIT_HPP
29 template<
typename BoundType,
typename MatType = arma::mat>
47 static bool SplitNode(
const BoundType& bound,
51 size_t& splitDimension,
70 static bool SplitNode(
const BoundType& bound,
74 size_t& splitDimension,
76 std::vector<size_t>& oldFromNew);
94 const size_t splitDimension,
95 const double splitVal);
114 const size_t splitDimension,
115 const double splitVal,
116 std::vector<size_t>& oldFromNew);
123 #include "mean_split_impl.hpp"
Linear algebra utility functions, generally performed on matrices or vectors.
static size_t PerformSplit(MatType &data, const size_t begin, const size_t count, const size_t splitDimension, const double splitVal)
Reorder the dataset into two parts such that they lie on either side of splitCol. ...
A binary space partitioning tree node is split into its left and right child.
static bool SplitNode(const BoundType &bound, MatType &data, const size_t begin, const size_t count, size_t &splitDimension, size_t &splitCol)
Split the node according to the mean value in the dimension with maximum width.