14 #ifndef MLPACK_CORE_TREE_BINARY_SPACE_TREE_MEAN_SPLIT_HPP 15 #define MLPACK_CORE_TREE_BINARY_SPACE_TREE_MEAN_SPLIT_HPP 28 template<
typename BoundType,
typename MatType = arma::mat>
54 static bool SplitNode(
const BoundType& bound,
77 return split::PerformSplit<MatType, MeanSplit>(data, begin, count,
100 std::vector<size_t>& oldFromNew)
102 return split::PerformSplit<MatType, MeanSplit>(data, begin, count,
103 splitInfo, oldFromNew);
112 template<
typename VecType>
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
The core includes that mlpack expects; standard C++ includes and Armadillo.
static size_t PerformSplit(MatType &data, const size_t begin, const size_t count, const SplitInfo &splitInfo)
Perform the split process according to the information about the split.
Definition: mean_split.hpp:72
static bool SplitNode(const BoundType &bound, MatType &data, const size_t begin, const size_t count, SplitInfo &splitInfo)
Find the partition of the node.
Definition: mean_split_impl.hpp:22
static size_t PerformSplit(MatType &data, const size_t begin, const size_t count, const SplitInfo &splitInfo, std::vector< size_t > &oldFromNew)
Perform the split process according to the information about the split and return the list of changed...
Definition: mean_split.hpp:96
An information about the partition.
Definition: mean_split.hpp:33
size_t splitDimension
The dimension to split the node on.
Definition: mean_split.hpp:36
static bool AssignToLeftNode(const VecType &point, const SplitInfo &splitInfo)
Indicates that a point should be assigned to the left subtree.
Definition: mean_split.hpp:113
A binary space partitioning tree node is split into its left and right child.
Definition: mean_split.hpp:29
double splitVal
The split in dimension splitDimension is based on this value.
Definition: mean_split.hpp:38