xgboost
公共成员函数 | 静态公共成员函数 | 受保护属性 | 所有成员列表
xgboost::TreeUpdater 类参考抽象

树更新模块的接口,用于执行树的更新。更多...

#include <tree_updater.h>

xgboost::TreeUpdater 的继承图
Inheritance graph
xgboost::TreeUpdater 的协作图
Collaboration graph

公共成员函数

 TreeUpdater (const Context *ctx)
 
 ~TreeUpdater () override=default
 虚析构函数 更多...
 
virtual void Configure (const Args &args)=0
 使用给定参数初始化更新器。 更多...
 
virtual bool CanModifyTree () const
 此更新器是否可用于更新现有树。 更多...
 
virtual bool HasNodePosition () const
 Update 中 out_position 是否有效。这决定了是否可以使用自适应树。 更多...
 
virtual void Update (tree::TrainParam const *param, linalg::Matrix< GradientPair > *gpair, DMatrix *data, common::Span< HostDeviceVector< bst_node_t >> out_position, const std::vector< RegTree * > &out_trees)=0
 对树模型执行更新 更多...
 
virtual bool UpdatePredictionCache (const DMatrix *, linalg::MatrixView< float >)
 确定更新器是否对给定数据集有足够的了解,以便快速更新其训练数据的预测缓存,并在可能的情况下执行更新。 更多...
 
virtual const char * Name () const =0
 
- 从 xgboost::Configurable 继承的公共成员函数
virtual ~Configurable ()=default
 
virtual void LoadConfig (Json const &in)=0
 从 JSON 对象加载配置。 更多...
 
virtual void SaveConfig (Json *out) const =0
 将配置保存到 JSON 对象。 更多...
 

静态公共成员函数

static TreeUpdaterCreate (const std::string &name, Context const *ctx, ObjInfo const *task)
 根据名称创建一个树更新器。 更多...
 

保护属性

Context const * ctx_ = nullptr
 

详细描述

树更新模块的接口,执行树的更新。

构造函数和析构函数文档

◆ TreeUpdater()

xgboost::TreeUpdater::TreeUpdater ( const Context ctx)
内联显式

◆ ~TreeUpdater()

xgboost::TreeUpdater::~TreeUpdater ( )
overridedefault

虚析构函数

成员函数文档

◆ CanModifyTree()

virtual bool xgboost::TreeUpdater::CanModifyTree ( ) const
inlinevirtual

此更新器是否可用于更新现有树。

一些更新器用于构建新树(如 hist),而另一些则用于修改现有树(如 prune)。如果它可以修改现有树,则返回 true。

◆ Configure()

virtual void xgboost::TreeUpdater::Configure ( const Args args)
纯虚函数

使用给定参数初始化更新器。

参数
args目标函数的参数。

◆ Create()

static TreeUpdater* xgboost::TreeUpdater::Create ( const std::string &  name,
Context const *  ctx,
const ObjInfo task 
)
static

根据名称创建一个树更新器。

参数
name树更新器的名称。
ctx一个全局运行时参数
task关于目标的详细信息。

◆ HasNodePosition()

virtual bool xgboost::TreeUpdater::HasNodePosition ( ) const
inlinevirtual

Update 中 out_position 是否有效。这决定了是否可以使用自适应树。

◆ Name()

virtual const char* xgboost::TreeUpdater::Name ( ) const
纯虚函数

◆ Update()

virtual void xgboost::TreeUpdater::Update ( tree::TrainParam const *  param,
linalg::Matrix< GradientPair > *  gpair,
DMatrix 数据,
common::Span< HostDeviceVector< bst_node_t >>  out_position,
const std::vector< RegTree * > &  out_trees 
)
纯虚函数

对树模型执行更新

参数
param用于构建树的超参数。
gpair数据的梯度对统计。
数据传递给更新器的数据矩阵。
out_position每行的叶子索引。如果该行在采样过程中被移除,则索引为负。因此第 3 个节点是 ~3。
out_trees引用要更新的树,更新器将更改树的内容 注意:向量中的所有树都使用相同的统计信息进行更新,但可能使用不同的随机种子,通常一次只传递一棵树,当我们训练随机森林样式模型时可以有多棵树

◆ UpdatePredictionCache()

virtual bool xgboost::TreeUpdater::UpdatePredictionCache ( const DMatrix ,
linalg::MatrixView< float >   
)
inlinevirtual

确定更新器是否对给定数据集有足够的了解,以便快速更新其训练数据的预测缓存,并在可能的情况下执行更新。

参数
数据数据矩阵
out_preds要更新的预测缓存
返回
布尔值,指示更新器是否具有更新预测缓存的能力。如果为 true,则在函数返回时,预测缓存将已更新。

成员数据文档

◆ ctx_

Context const* xgboost::TreeUpdater::ctx_ = nullptr
protected

此类的文档由以下文件生成