LightGBM树结构提取与解释

LightGBM tree structure extracting and interpretation

我正在尝试提取由 Light GBM 算法构建的树的确切树结构。我为此使用了 model_dump 并且我已经成功地提取了结构。树看起来像这样(在 iris 数据集上训练):

我无法理解如何评估这棵树。 Another topic on Stack Overflow says that leaf value is raw prob. before sigmoid。这似乎完全合乎逻辑,但是当我尝试将此值放入 sigmoid 函数时,lightgbm.predict(...) 返回的概率与基于我的树计算的概率不同。 model_dump 之前是否隐藏了影响这些值的任何后处理?计算输出概率的正确方法是什么?来自那些树。

Iris 数据集是多class class化的。您向我们展示的树是一个 class。取决于 objective you are using, the postprocessing is not always sigmoid. For multiclass, you need to apply softmax function 对您的原始预测。