xgboost
公共成员函数 | 静态公共成员函数 | 保护成员变量 | 所有成员列表
xgboost::TreeUpdater 类参考abstract

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

#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 char const * 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)
inlineexplicit

◆ ~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,
ObjInfo const *  task 
)
静态

创建指定名称的树更新器。

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

◆ HasNodePosition()

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

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

◆ Name()

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

◆ Update()

virtual void xgboost::TreeUpdater::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 
)
纯虚函数

对树模型执行更新

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

◆ UpdatePredictionCache()

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

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

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

成员变量文档

◆ ctx_

Context const* xgboost::TreeUpdater::ctx_ = nullptr
保护

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