13 #ifndef MLPACK_METHODS_DECISION_TREE_INFORMATION_GAIN_HPP 14 #define MLPACK_METHODS_DECISION_TREE_INFORMATION_GAIN_HPP 34 static double Evaluate(
const arma::Row<size_t>& labels,
35 const size_t numClasses)
38 if (labels.n_elem == 0)
42 arma::Col<size_t> counts(numClasses);
44 for (
size_t i = 0; i < labels.n_elem; ++i)
49 for (
size_t i = 0; i < numClasses; ++i)
51 const double f = ((double) counts[i] / (
double) labels.n_elem);
53 gain += f * std::log2(f);
66 static double Range(
const size_t numClasses)
71 return std::log2(numClasses);
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.