MLPACK  1.0.10
mean_split.hpp
Go to the documentation of this file.
1 
24 #ifndef __MLPACK_CORE_TREE_BINARY_SPACE_TREE_MEAN_SPLIT_HPP
25 #define __MLPACK_CORE_TREE_BINARY_SPACE_TREE_MEAN_SPLIT_HPP
26 
27 #include <mlpack/core.hpp>
28 
29 namespace mlpack {
30 namespace tree {
31 
37 template<typename BoundType, typename MatType = arma::mat>
38 class MeanSplit
39 {
40  public:
55  static bool SplitNode(const BoundType& bound,
56  MatType& data,
57  const size_t begin,
58  const size_t count,
59  size_t& splitDimension,
60  size_t& splitCol);
61 
78  static bool SplitNode(const BoundType& bound,
79  MatType& data,
80  const size_t begin,
81  const size_t count,
82  size_t& splitDimension,
83  size_t& splitCol,
84  std::vector<size_t>& oldFromNew);
85 
86  private:
99  static size_t PerformSplit(MatType& data,
100  const size_t begin,
101  const size_t count,
102  const size_t splitDimension,
103  const double splitVal);
104 
119  static size_t PerformSplit(MatType& data,
120  const size_t begin,
121  const size_t count,
122  const size_t splitDimension,
123  const double splitVal,
124  std::vector<size_t>& oldFromNew);
125 };
126 
127 }; // namespace tree
128 }; // namespace mlpack
129 
130 // Include implementation.
131 #include "mean_split_impl.hpp"
132 
133 #endif