Medial Code Documentation
Loading...
Searching...
No Matches
Public Member Functions
xgboost::tree::TreePruner Class Reference

pruner that prunes a tree after growing finishes More...

Inheritance diagram for xgboost::tree::TreePruner:
xgboost::TreeUpdater xgboost::Configurable

Public Member Functions

 TreePruner (Context const *ctx, ObjInfo const *task)
 
char const * Name () const override
 
void Configure (const Args &args) override
 Initialize the updater with given arguments.
 
void LoadConfig (Json const &) override
 Load configuration from JSON object.
 
void SaveConfig (Json *) const override
 Save configuration to JSON object.
 
bool CanModifyTree () const override
 Whether this updater can be used for updating existing trees.
 
void Update (TrainParam const *param, HostDeviceVector< GradientPair > *gpair, DMatrix *p_fmat, common::Span< HostDeviceVector< bst_node_t > > out_position, const std::vector< RegTree * > &trees) override
 perform update to the tree models
 
- Public Member Functions inherited from xgboost::TreeUpdater
 TreeUpdater (const Context *ctx)
 
 ~TreeUpdater () override=default
 virtual destructor
 
virtual bool HasNodePosition () const
 Wether the out_position in Update is valid. This determines whether adaptive tree can be used.
 
virtual bool UpdatePredictionCache (const DMatrix *, linalg::MatrixView< float >)
 determines whether updater has enough knowledge about a given dataset to quickly update prediction cache its training data and performs the update if possible.
 

Additional Inherited Members

- Static Public Member Functions inherited from xgboost::TreeUpdater
static TreeUpdaterCreate (const std::string &name, Context const *ctx, ObjInfo const *task)
 Create a tree updater given name.
 
- Protected Attributes inherited from xgboost::TreeUpdater
Context const * ctx_ = nullptr
 

Detailed Description

pruner that prunes a tree after growing finishes

Member Function Documentation

◆ CanModifyTree()

bool xgboost::tree::TreePruner::CanModifyTree ( ) const
inlineoverridevirtual

Whether this updater can be used for updating existing trees.

Some updaters are used for building new trees (like hist), while some others are used for modifying existing trees (like prune). Return true if it can modify existing trees.

Reimplemented from xgboost::TreeUpdater.

◆ Configure()

void xgboost::tree::TreePruner::Configure ( const Args &  args)
inlineoverridevirtual

Initialize the updater with given arguments.

Parameters
argsarguments to the objective function.

Implements xgboost::TreeUpdater.

◆ LoadConfig()

void xgboost::tree::TreePruner::LoadConfig ( Json const &  in)
inlineoverridevirtual

Load configuration from JSON object.

Parameters
inJSON object containing the configuration

Implements xgboost::Configurable.

◆ Name()

char const * xgboost::tree::TreePruner::Name ( ) const
inlineoverridevirtual

Implements xgboost::TreeUpdater.

◆ SaveConfig()

void xgboost::tree::TreePruner::SaveConfig ( Json out) const
inlineoverridevirtual

Save configuration to JSON object.

Parameters
outpointer to output JSON object

Implements xgboost::Configurable.

◆ Update()

void xgboost::tree::TreePruner::Update ( TrainParam const *  param,
HostDeviceVector< GradientPair > *  gpair,
DMatrix data,
common::Span< HostDeviceVector< bst_node_t > >  out_position,
const std::vector< RegTree * > &  out_trees 
)
inlineoverridevirtual

perform update to the tree models

Parameters
paramHyper-parameter for constructing trees.
gpairthe gradient pair statistics of the data
dataThe data matrix passed to the updater.
out_positionThe leaf index for each row. The index is negated if that row is removed during sampling. So the 3th node is ~3.
out_treesreferences the trees to be updated, updater will change the content of trees note: all the trees in the vector are updated, with the same statistics, but maybe different random seeds, usually one tree is passed in at a time, there can be multiple trees when we train random forest style model

Implements xgboost::TreeUpdater.


The documentation for this class was generated from the following file: