File rule_evaluation_non_decomposable.hpp

namespace boosting
class INonDecomposableRuleEvaluationFactory
#include <rule_evaluation_non_decomposable.hpp>

Defines an interface for all factories that allow to create instances of the type IRuleEvaluation that allow to calculate the predictions of rules, based on the gradients and Hessians that have been calculated according to a non-decomposable loss function.

Subclassed by boosting::NonDecomposableCompleteBinnedRuleEvaluationFactory, boosting::NonDecomposableCompleteRuleEvaluationFactory, boosting::NonDecomposableDynamicPartialBinnedRuleEvaluationFactory, boosting::NonDecomposableDynamicPartialRuleEvaluationFactory, boosting::NonDecomposableFixedPartialBinnedRuleEvaluationFactory, boosting::NonDecomposableFixedPartialRuleEvaluationFactory

Public Functions

inline virtual ~INonDecomposableRuleEvaluationFactory()
virtual std::unique_ptr<IRuleEvaluation<DenseNonDecomposableStatisticVector<float32>>> create(const DenseNonDecomposableStatisticVector<float32> &statisticVector, const CompleteIndexVector &indexVector) const = 0

Creates and returns a new object of type IRuleEvaluation that allows to calculate the predictions of rules that predict for all available outputs, based on the gradients and Hessians that are stored by a DenseNonDecomposableStatisticVector<float32>.

Parameters:
  • statisticVector – A reference to an object of type DenseNonDecomposableStatisticVector<float32>. This vector is only used to identify the function that is able to deal with this particular type of vector via function overloading

  • indexVector – A reference to an object of type CompleteIndexVector that provides access to the indices of the outputs for which the rules may predict

Returns:

An unique pointer to an object of type IRuleEvaluation that has been created

virtual std::unique_ptr<IRuleEvaluation<DenseNonDecomposableStatisticVector<float32>>> create(const DenseNonDecomposableStatisticVector<float32> &statisticVector, const PartialIndexVector &indexVector) const = 0

Creates and returns a new object of type IRuleEvaluation that allows to calculate the predictions of rules that predict for a subset of the available outputs, based on the gradients and Hessians that are stored by a DenseNonDecomposableStatisticVector<float32>.

Parameters:
  • statisticVector – A reference to an object of type DenseNonDecomposableStatisticVector<float32>. This vector is only used to identify the function that is able to deal with this particular type of vector via function overloading

  • indexVector – A reference to an object of type PartialIndexVector that provides access to the indices of the outputs for which the rules may predict

Returns:

An unique pointer to an object of type IRuleEvaluation that has been created

virtual std::unique_ptr<IRuleEvaluation<DenseNonDecomposableStatisticVector<float64>>> create(const DenseNonDecomposableStatisticVector<float64> &statisticVector, const CompleteIndexVector &indexVector) const = 0

Creates and returns a new object of type IRuleEvaluation that allows to calculate the predictions of rules that predict for all available outputs, based on the gradients and Hessians that are stored by a DenseNonDecomposableStatisticVector<float64>.

Parameters:
  • statisticVector – A reference to an object of type DenseNonDecomposableStatisticVector<float64>. This vector is only used to identify the function that is able to deal with this particular type of vector via function overloading

  • indexVector – A reference to an object of type CompleteIndexVector that provides access to the indices of the outputs for which the rules may predict

Returns:

An unique pointer to an object of type IRuleEvaluation that has been created

virtual std::unique_ptr<IRuleEvaluation<DenseNonDecomposableStatisticVector<float64>>> create(const DenseNonDecomposableStatisticVector<float64> &statisticVector, const PartialIndexVector &indexVector) const = 0

Creates and returns a new object of type IRuleEvaluation that allows to calculate the predictions of rules that predict for a subset of the available outputs, based on the gradients and Hessians that are stored by a DenseNonDecomposableStatisticVector<float64>.

Parameters:
  • statisticVector – A reference to an object of type DenseNonDecomposableStatisticVector<float64>. This vector is only used to identify the function that is able to deal with this particular type of vector via function overloading

  • indexVector – A reference to an object of type PartialIndexVector that provides access to the indices of the outputs for which the rules may predict

Returns:

An unique pointer to an object of type IRuleEvaluation that has been created