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>
124 #include "mean_split_impl.hpp" Linear algebra utility functions, generally performed on matrices or vectors.
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.
static bool SplitNode(const BoundType &bound, MatType &data, const size_t begin, const size_t count, SplitInfo &splitInfo)
Find the partition of the node.
An information about the partition.
double splitVal
The split in dimension splitDimension is based on this value.
A binary space partitioning tree node is split into its left and right child.
static bool AssignToLeftNode(const VecType &point, const SplitInfo &splitInfo)
Indicates that a point should be assigned to the left subtree.
size_t splitDimension
The dimension to split the node on.
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...