24 #ifndef __MLPACK_CORE_TREE_BINARY_SPACE_TREE_MEAN_SPLIT_HPP
25 #define __MLPACK_CORE_TREE_BINARY_SPACE_TREE_MEAN_SPLIT_HPP
37 template<
typename BoundType,
typename MatType = arma::mat>
55 static bool SplitNode(
const BoundType& bound,
59 size_t& splitDimension,
78 static bool SplitNode(
const BoundType& bound,
82 size_t& splitDimension,
84 std::vector<size_t>& oldFromNew);
102 const size_t splitDimension,
103 const double splitVal);
122 const size_t splitDimension,
123 const double splitVal,
124 std::vector<size_t>& oldFromNew);
131 #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.