跳到内容

一个辅助函数,用于从使用 xgb.cb.gblinear.history 回调函数(必须手动添加,因为默认不使用)创建的 gblinear 模型中提取线性系数的历史矩阵。

用法

xgb.gblinear.history(model, class_index = NULL)

参数

model

一个 xgb.Booster 对象或 xgb.cv() 的结果,需要使用 xgb.cb.gblinear.history 回调函数进行训练,但 不是 通过 xgb.load()xgb.load.raw() 加载的 booster 对象。

class_index

基于零的类别索引,用于在多项多类别模型中仅提取特定类别的系数。当为 NULL 时,返回所有系数。在非多类别模型中无效。

返回值

对于 xgb.train() 的结果,返回一个矩阵(稠密或稀疏),其列对应于迭代的系数,行对应于 boosting 迭代次数。

对于 xgb.cv() 的结果,返回一个此类矩阵的列表,列表中的元素对应于 CV 折叠。

当每个特征有多个系数(例如多类别分类)且未提供 class_index 时,结果将被重塑为一个向量,其中系数先按特征排列,然后按类别排列(例如,前 N 个系数属于第一个类别,接下来的 N+1 到 2N 个系数属于第二个类别,依此类推)。

详情

请注意,这是一个 R 特有的函数,它依赖于 R 属性,而这些属性在使用 XGBoost 自带的序列化函数(如 xgb.load()xgb.load.raw())时不会被保存。

为了使序列化的模型能被此函数接受,必须使用 R 的序列化工具,例如 saveRDS()