以下xgboost模型树图中'leaf'的值是什么意思?

What does the value of 'leaf' in the following xgboost model tree diagram means?

鉴于上述(树枝)条件存在,我猜测这是条件概率。不过我不是很清楚。

如果您想了解有关所用数据的更多信息或我们如何获得此图表,请转到:http://machinelearningmastery.com/visualize-gradient-boosting-decision-trees-xgboost-python/

属性leaf是预测值。换句话说,如果树模型的评估在该终端节点(又名叶节点)结束,那么这就是返回的值。

在伪代码中(树模型最左边的分支):

if(f1 < 127.5){
  if(f7 < 28.5){
    if(f5 < 45.4){
      return 0.167528f;
    } else {
      return 0.05f;
    }
  }
}

你是对的。那些与叶节点关联的概率值表示在给定树的特定分支的情况下到达叶节点的条件概率。树的分支可以表示为一组规则。例如@user1808924在他的中提到;一条代表树模型最左边分支的规则。

因此,简而言之:树可以线性化为决策规则,其中结果是叶节点的内容,路径上的条件在 if 子句中形成合取。通常,规则的形式为:

if condition1 and condition2 and condition3 then outcome.

通过与右边的目标变量构造关联规则,可以生成决策规则。它们还可以表示 temporal or causal 关系。

对于一个有2个classes {0,1}的classification树,叶节点的值表示class1的原始分数。它可以转换通过使用逻辑函数的概率得分。下面的计算以最左边的叶子为例

1/(1+np.exp(-1*0.167528))=0.5417843204057448

这意味着如果一个数据点最终被分配到这个叶子,这个数据点是class 1的概率是0.5417843204057448。

如果是回归模型(objective可以是reg:squarederror),那么叶值就是那棵树对给定数据点的预测。根据您的目标变量,叶值可以为负。该数据点的最终预测将是该点所有树中叶值的总和。

如果是classification模型(objective可以是binary:logistic),那么叶值代表(像raw score)数据点属于的概率积极 class。最终的概率预测是通过对所有树中的叶值(原始分数)求和然后使用 sigmoid 函数在 0 和 1 之间转换得到的。叶子值(raw score)可以是负数,值0其实代表概率是1/2。

请在 - https://xgboost.readthedocs.io/en/latest/parameter.html

中找到有关参数和输出的更多详细信息