上記(木の枝)の条件が存在することを考えると、条件付き確率であると推測しています。しかし、はっきりしていません。
使用されているデータやこの図を取得する方法について詳しく知りたい場合は、次のURLにアクセスしてください。 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;
}
}
}
2つのクラス{0,1}を持つ分類ツリーの場合、リーフノードの値はクラス1の生のスコアを表します。ロジスティック関数を使用して確率スコアに変換できます。以下の計算では、例として左端の葉を使用しています。
1/(1+np.exp(-1*0.167528))=0.5417843204057448
これが意味するのは、データポイントがこのリーフに分散されることになった場合、このデータポイントがクラス1である確率は0.5417843204057448です。
あなたは正しいです。リーフノードに関連付けられたこれらの確率値は、ツリーの特定のブランチが与えられた場合にリーフノードに到達する条件付き確率を表しています。木の枝は、一連のルールとして提示できます。たとえば、彼の answer ;で言及されている@ user1808924ツリーモデルの左端のブランチを表す1つのルール。
つまり、ツリーは決定ルールに線形化できます。結果はリーフノードのコンテンツであり、パスに沿った条件はif句の接続詞を形成します。一般に、ルールの形式は次のとおりです。
if condition1 and condition2 and condition3 then outcome.
決定ルールは、右側のターゲット変数を使用して相関ルールを作成することで生成できます。また、 時間的 または 因果的 関係を表すこともできます。
それが回帰モデルである場合(目的はreg:squarederrorである可能性があります)、リーフ値は特定のデータポイントに対するそのツリーの予測です。リーフ値は、ターゲット変数に基づいて負にすることができます。そのデータポイントの最終的な予測は、そのポイントのすべてのツリーのリーフ値の合計になります。
それが分類モデルである場合(目的はbinary:logisticである可能性があります)、リーフ値は(生のスコアのように)正のクラスに属するデータポイントの確率を表します。最終的な確率予測は、すべてのツリーで葉の値(生のスコア)の合計を取得し、 シグモイド 関数を使用して0と1の間で変換することによって取得されます。リーフ値(生スコア)は負の値にすることができ、値0は実際には確率が1/2であることを表します。
パラメータと出力の詳細については、 https://xgboost.readthedocs.io/en/latest/parameter.html をご覧ください。