Merge pull request #3747 from TirelessClock/loss_functions

Shifted sse loss to decision tree to streamline xgboost functionality and ease regularisation.
This commit is contained in:
Marcus Edel
2024-07-22 09:19:52 -04:00
committed by GitHub
20 changed files with 34 additions and 37 deletions
@@ -15,20 +15,9 @@
#include <mlpack/core.hpp>
#include "gini_gain.hpp"
#include "information_gain.hpp"
#include "mad_gain.hpp"
#include "mse_gain.hpp"
#include "best_binary_numeric_split.hpp"
#include "random_binary_numeric_split.hpp"
#include "best_binary_categorical_split.hpp"
#include "all_categorical_split.hpp"
#include "all_dimension_select.hpp"
#include "random_dimension_select.hpp"
#include "multiple_random_dimension_select.hpp"
#include "fitness_functions/fitness_functions.hpp"
#include "split_functions/split_functions.hpp"
#include "select_functions/select_functions.hpp"
namespace mlpack {
@@ -15,12 +15,9 @@
#include <mlpack/core.hpp>
#include "mad_gain.hpp"
#include "mse_gain.hpp"
#include "best_binary_numeric_split.hpp"
#include "all_categorical_split.hpp"
#include "random_binary_numeric_split.hpp"
#include "all_dimension_select.hpp"
#include "fitness_functions/fitness_functions.hpp"
#include "split_functions/split_functions.hpp"
#include "select_functions/select_functions.hpp"
namespace mlpack {
@@ -0,0 +1,4 @@
#include "gini_gain.hpp"
#include "information_gain.hpp"
#include "mad_gain.hpp"
#include "mse_gain.hpp"
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/gini_gain.hpp
* @file methods/decision_tree/fitness_functions/gini_gain.hpp
* @author Ryan Curtin
*
* The GiniGain class, which is a fitness function (FitnessFunction) for
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/information_gain.hpp
* @file methods/decision_tree/fitness_functions/information_gain.hpp
* @author Ryan Curtin
*
* An implementation of information gain, which can be used in place of Gini
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/mad_gain.hpp
* @file methods/decision_tree/fitness_functions/mad_gain.hpp
* @author Rishabh Garg
*
* The mean absolute deviation gain class, a fitness function for regression
@@ -15,7 +15,7 @@ n.
#define MLPACK_METHODS_DECISION_TREE_MAD_GAIN_HPP
#include <mlpack/prereqs.hpp>
#include "utils.hpp"
#include "mlpack/methods/decision_tree/utils.hpp"
namespace mlpack {
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/mse_gain.hpp
* @file methods/decision_tree/fitness_functions/mse_gain.hpp
* @author Rishabh Garg
*
* The mean squared error gain class, which is a fitness funtion for
@@ -14,7 +14,7 @@
#define MLPACK_METHODS_DECISION_TREE_MSE_GAIN_HPP
#include <mlpack/prereqs.hpp>
#include "utils.hpp"
#include <mlpack/methods/decision_tree/utils.hpp>
namespace mlpack {
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/all_dimension_select.hpp
* @file methods/decision_tree/select_functions/all_dimension_select.hpp
* @author Ryan Curtin
*
* Selects all dimensions for a split.
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/multiple_random_dimension_select.hpp
* @file methods/decision_tree/select_functions/multiple_random_dimension_select.hpp
* @author Ryan Curtin
*
* Select a number of random dimensions to pick from.
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/random_dimension_select.hpp
* @file methods/decision_tree/select_functions/random_dimension_select.hpp
* @author Ryan Curtin
*
* Selects one single random dimension to split on.
@@ -0,0 +1,3 @@
#include "all_dimension_select.hpp"
#include "multiple_random_dimension_select.hpp"
#include "random_dimension_select.hpp"
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/all_categorical_split.hpp
* @file methods/decision_tree/split_functions/all_categorical_split.hpp
* @author Ryan Curtin
*
* This file defines a tree splitter that split a categorical feature into all
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/all_categorical_split_impl.hpp
* @file methods/decision_tree/split_functions/all_categorical_split_impl.hpp
* @author Ryan Curtin
*
* Implementation of the AllCategoricalSplit categorical split class.
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/all_categorical_split_impl.hpp
* @file methods/decision_tree/split_functions/all_categorical_split_impl.hpp
* @author Nikolay Apanasov (nikolay@apanasov.org)
*
* Implementation of the BestBinaryCategoricalSplit categorical split class.
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/best_binary_numeric_split.hpp
* @file methods/decision_tree/split_functions/best_binary_numeric_split.hpp
* @author Ryan Curtin
*
* A tree splitter that finds the best binary numeric split.
@@ -13,7 +13,7 @@
#define MLPACK_METHODS_DECISION_TREE_BEST_BINARY_NUMERIC_SPLIT_HPP
#include <mlpack/prereqs.hpp>
#include "mse_gain.hpp"
#include <mlpack/methods/decision_tree/fitness_functions/mse_gain.hpp>
#include <mlpack/core/util/sfinae_utility.hpp>
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/best_binary_numeric_split_impl.hpp
* @file methods/decision_tree/split_functions/best_binary_numeric_split_impl.hpp
* @author Ryan Curtin
*
* Implementation of strategy that finds the best binary numeric split.
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/random_binary_numeric_split.hpp
* @file methods/decision_tree/split_functions/random_binary_numeric_split.hpp
* @author Rishabh Garg
*
* A tree splitter that finds a random binary numeric split.
@@ -1,5 +1,5 @@
/**
* @file methods/decision_tree/random_binary_numeric_split_impl.hpp
* @file methods/decision_tree/split_functions/random_binary_numeric_split_impl.hpp
* @author Rishabh Garg
*
* Implementation of strategy that finds the random binary numeric split.
@@ -0,0 +1,4 @@
#include "all_categorical_split.hpp"
#include "best_binary_numeric_split.hpp"
#include "random_binary_numeric_split.hpp"
#include "best_binary_categorical_split.hpp"