13 #ifndef MLPACK_CORE_TREE_BINARY_SPACE_TREE_RP_TREE_MAX_SPLIT_HPP 14 #define MLPACK_CORE_TREE_BINARY_SPACE_TREE_RP_TREE_MAX_SPLIT_HPP 31 template<
typename BoundType,
typename MatType = arma::mat>
80 return split::PerformSplit<MatType, RPTreeMaxSplit>(data, begin, count,
103 std::vector<size_t>& oldFromNew)
105 return split::PerformSplit<MatType, RPTreeMaxSplit>(data, begin, count,
106 splitInfo, oldFromNew);
115 template<
typename VecType>
133 static bool GetSplitVal(
const MatType& data,
144 #include "rp_tree_max_split_impl.hpp" 146 #endif // MLPACK_CORE_TREE_BINARY_SPACE_TREE_RP_TREE_MAX_SPLIT_HPP static bool SplitNode(const BoundType &, MatType &data, const size_t begin, const size_t count, SplitInfo &splitInfo)
Split the node by a random hyperplane.
static bool AssignToLeftNode(const VecType &point, const SplitInfo &splitInfo)
Indicates that a point should be assigned to the left subtree.
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.
This class splits a node by a random hyperplane.
ElemType splitVal
The value according to which the node is being split.
MatType::elem_type ElemType
The element type held by the matrix type.
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...
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.
An information about the partition.
arma::Col< ElemType > direction
The normal vector to the hyperplane that splits the node.