File rule_evaluation_non_decomposable_complete.hpp

namespace boosting
class NonDecomposableCompleteRuleEvaluationFactory : public boosting::INonDecomposableRuleEvaluationFactory
#include <rule_evaluation_non_decomposable_complete.hpp>

Allows to create instances of the class INonDecomposableRuleEvaluationFactory that allow to calculate the predictions of complete rules, which predict for all available outputs.

Public Functions

NonDecomposableCompleteRuleEvaluationFactory(float32 l1RegularizationWeight, float32 l2RegularizationWeight, const BlasFactory &blasFactory, const LapackFactory &lapackFactory)
Parameters:
  • l1RegularizationWeight – The weight of the L1 regularization that is applied for calculating the scores to be predicted by rules

  • l2RegularizationWeight – The weight of the L2 regularization that is applied for calculating the scores to be predicted by rules

  • blasFactory – A reference to an object of type BlasFactory that allows to create objects for executing BLAS routines

  • lapackFactory – An reference to an object of type LapackFactory that allows to create objects for executing BLAS routines

virtual std::unique_ptr<IRuleEvaluation<DenseNonDecomposableStatisticVector<float32>>> create(const DenseNonDecomposableStatisticVector<float32> &statisticVector, const CompleteIndexVector &indexVector) const override

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 override

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 override

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 override

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

Private Members

const float32 l1RegularizationWeight_
const float32 l2RegularizationWeight_
const BlasFactory &blasFactory_
const LapackFactory &lapackFactory_