File statistics_example_wise.hpp

namespace boosting
template<typename ExampleWiseRuleEvaluationFactory, typename LabelWiseRuleEvaluationFactory>
class IExampleWiseStatistics : public virtual boosting::IBoostingStatistics
#include <statistics_example_wise.hpp>

Defines an interface for all classes that store gradients and Hessians that have been calculated according to a differentiable loss-function that is applied example-wise.

Template Parameters:
  • ExampleWiseRuleEvaluationFactory – The type of the classes that may be used for calculating the example-wise predictions of rules, as well as their overall quality

  • LabelWiseRuleEvaluationFactory – The type of the classes that may be used for calculating the label-wise predictions of rules, as well as their overall quality

Public Functions

inline virtual ~IExampleWiseStatistics() override
virtual void setRuleEvaluationFactory(const ExampleWiseRuleEvaluationFactory &ruleEvaluationFactory) = 0

Sets the factory that allows to create instances of the class that is used for calculating the predictions of rules, as well as their overall quality.

Parameters:

ruleEvaluationFactory – A reference to an object of template type ExampleWiseRuleEvaluationFactory to be set

virtual std::unique_ptr<ILabelWiseStatistics<LabelWiseRuleEvaluationFactory>> toLabelWiseStatistics(const LabelWiseRuleEvaluationFactory &ruleEvaluationFactory, uint32 numThreads) = 0

Creates and returns an instance of type ILabelWiseStatistics from the gradients and Hessians that are stored by this object.

Parameters:
  • ruleEvaluationFactory – A reference to an object of template type LabelWiseRuleEvaluationFactory that allows to create instances of the class that is used for calculating the predictions of rules, as well as their overall quality

  • numThreads – The number of threads that should be used to convert the statistics for individual examples in parallel

Returns:

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