13 #ifndef MLPACK_METHODS_DECISION_TREE_GINI_GAIN_HPP
14 #define MLPACK_METHODS_DECISION_TREE_GINI_GAIN_HPP
37 template<
typename RowType>
39 const size_t numClasses)
42 if (labels.n_elem == 0)
45 arma::Col<size_t> counts(numClasses);
47 for (
size_t i = 0; i < labels.n_elem; ++i)
51 double impurity = 0.0;
52 for (
size_t i = 0; i < numClasses; ++i)
54 const double f = ((double) counts[i] / (
double) labels.n_elem);
55 impurity += f * (1.0 - f);
68 static double Range(
const size_t numClasses)
73 return 1.0 - (1.0 / double(numClasses));
Include all of the base components required to write MLPACK methods, and the main MLPACK Doxygen docu...
The Gini gain, a measure of set purity usable as a fitness function (FitnessFunction) for decision tr...
static double Evaluate(const RowType &labels, const size_t numClasses)
Evaluate the Gini impurity on the given set of labels.
static double Range(const size_t numClasses)
Return the range of the Gini impurity for the given number of classes.