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