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
31template<
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,
136 const arma::Col<ElemType>& direction,
144#include "rp_tree_max_split_impl.hpp"
This class splits a node by a random hyperplane.
MatType::elem_type ElemType
The element type held by the matrix type.
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 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 AssignToLeftNode(const VecType &point, const SplitInfo &splitInfo)
Indicates that a point should be assigned to the left subtree.
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...
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.
An information about the partition.
ElemType splitVal
The value according to which the node is being split.
arma::Col< ElemType > direction
The normal vector to the hyperplane that splits the node.