从xgboost中提取权重和树结构 - 绘制树

时间:2017-04-28 03:55:23

标签: python algorithm tree random-forest xgboost

我在python中使用xgboost包,我将在训练后提取树结构。例如,我将了解在每个节点处选择的特征和阈值,以将树结构导出到函数。 而且,我需要知道训练后每棵树的重量。 (正如我们所知,树的结果将被组合成w1 * h1 + w2h2 + ... + wn * hn,其中wi是权重的,hi是增强的第i棵树的答案)。实际上,我需要能够获得重量和内树。我在做分类。 我的另一个问题是,当我使用“来自xgboost import plot_tree”时,我收到此错误“包没有此功能”。我如何画树?

由于

1 个答案:

答案 0 :(得分:0)

您可以将xgboost模型转储到文本文件中,然后自行解析。该文件如下所示:

助推器[0(< -tree id)]: 0(< -node id):[f317(< -feature name)< 0.187154] yes = 1(< -child node id),no = 2,missing = 1     1:[f317< 0.071172]是= 3,否= 4,缺失= 3          ...             6379:leaf = 0.125(< -weight到那片叶子)

最后,它是所有叶子的加权和。这是二元分类和回归的情况。