File statistics_provider_label_wise_dense.hpp

namespace boosting
class DenseLabelWiseStatisticsProviderFactory : public IStatisticsProviderFactory
#include <statistics_provider_label_wise_dense.hpp>

Allows to create instances of the class IStatisticsProvider that provide access to an object of type ILabelWiseStatistics, which uses dense data structures to store the statistics.

Public Functions

DenseLabelWiseStatisticsProviderFactory(std::unique_ptr<ILabelWiseLossFactory> lossFactoryPtr, std::unique_ptr<IEvaluationMeasureFactory> evaluationMeasureFactoryPtr, std::unique_ptr<ILabelWiseRuleEvaluationFactory> defaultRuleEvaluationFactoryPtr, std::unique_ptr<ILabelWiseRuleEvaluationFactory> regularRuleEvaluationFactoryPtr, std::unique_ptr<ILabelWiseRuleEvaluationFactory> pruningRuleEvaluationFactoryPtr, uint32 numThreads)
Parameters:
  • lossFactoryPtr – An unique pointer to an object of type ILabelWiseLossFactory that allows to create implementations of the loss function that should be used for calculating gradients and Hessians

  • evaluationMeasureFactoryPtr – An unique pointer to an object of type IEvaluationMeasureFactory that allows to create implementations of the evaluation measure that should be used for assessing the quality of predictions

  • defaultRuleEvaluationFactoryPtr – An unique pointer to an object of type ILabelWiseRuleEvaluationFactory that should be used for calculating the predictions, as well as corresponding quality scores, of the default rule

  • regularRuleEvaluationFactoryPtr – An unique pointer to an object of type ILabelWiseRuleEvaluationFactory that should be used for calculating the predictions, as well as corresponding quality scores, of all remaining rules

  • pruningRuleEvaluationFactoryPtr – An unique pointer to an object of type ILabelWiseRuleEvaluationFactory that should be used for calculating the predictions, as well as corresponding quality scores, when pruning rules

  • numThreads – The number of CPU threads to be used to calculate the initial statistics in parallel. Must be at least 1

std::unique_ptr<IStatisticsProvider> create(const CContiguousView<const uint8> &labelMatrix) const override

See also

IStatisticsProviderFactory::create

std::unique_ptr<IStatisticsProvider> create(const BinaryCsrView &labelMatrix) const override

See also

IStatisticsProviderFactory::create

Private Members

const std::unique_ptr<ILabelWiseLossFactory> lossFactoryPtr_
const std::unique_ptr<IEvaluationMeasureFactory> evaluationMeasureFactoryPtr_
const std::unique_ptr<ILabelWiseRuleEvaluationFactory> defaultRuleEvaluationFactoryPtr_
const std::unique_ptr<ILabelWiseRuleEvaluationFactory> regularRuleEvaluationFactoryPtr_
const std::unique_ptr<ILabelWiseRuleEvaluationFactory> pruningRuleEvaluationFactoryPtr_
const uint32 numThreads_