BoostedTrees計算BestGainsPereture

パブリック最終クラスBoostedTreesCalculateBestGainsPerFeature

各特徴のゲインを計算し、その特徴に対して可能な限り最適な分割情報を返します。

分割情報は、各特徴のノードごとの最適なしきい値 (バケット ID)、ゲイン、および左右のノードの寄与です。

すべてのノードを各フィーチャで分割できない可能性があります。したがって、可能なノードのリストはフィーチャ間で異なる場合があります。したがって、この機能を分割するために使用できるノードのリストを含む、各機能の「node_ids_list」を返します。

この方法では、出力は機能ごとおよびノー​​ドごとに最適な分割となるため、後で結合して (可能なすべての機能の中で) 各ノードに最適な分割を生成する必要があります。

出力リストの長さはすべて同じ長さ `num_features` です。出力形状は、すべてのリストのすべてのテンソルの最初の次元が同じであり、各フィーチャの可能な分割ノードの数に等しいという点で互換性があります。

パブリックメソッド

静的BoostedTreesCalculateBestGainsPerFeature
create (スコープscope、オペランド<Integer>nodeIdRange、Iterable<オペランド<Float>>statssummaryList、オペランド<Float>l1、オペランド<Float>l2、オペランド<Float>treeComplexity、オペランド<Float>minNodeWeight、Long maxSplits)
新しい BoostedTreesCalculateBestGainsPerFeature オペレーションをラップするクラスを作成するためのファクトリ メソッド。
リスト<出力<浮動小数点数>>
ゲインリスト()
特定のノードに分割する各特徴の最適なゲインを示すランク 1 テンソルの出力リスト。
リスト<出力<浮動小数点数>>
leftNodeContribsList ()
ランク 2 テンソルのリストは、各特徴の指定されたしきい値によって親ノード (出力 node_ids_list のテンソル要素によって指定される) から左方向に分岐するときの左ノードの寄与を示します。
リスト<出力<整数>>
ノードIDリスト()
各特徴の可能な分割ノード ID を示すランク 1 テンソルの出力リスト。
リスト<出力<浮動小数点数>>
rightNodeContribsList ()
ランク 2 テンソルのリスト。 left_node_contribs_list と同じ形状/条件を持ちますが、値が右側のノードのものであるだけです。
リスト<出力<整数>>
しきい値リスト()
各ノードでの分割のために (しきい値として) 比較するバケット ID を示すランク 1 テンソルの出力リスト。

継承されたメソッド

パブリックメソッド

public static BoostedTreesCalculateBestGainsPerFeature create (スコープscope、オペランド<Integer>nodeIdRange、Iterable<オペランド<Float>>statssummaryList、オペランド<Float>l1、オペランド<Float>l2、オペランド<Float>treeComplexity、オペランド<Float>minNodeWeight、Long maxSplits)

新しい BoostedTreesCalculateBestGainsPerFeature オペレーションをラップするクラスを作成するためのファクトリ メソッド。

パラメーター
範囲現在のスコープ
ノードID範囲`stats_summary_list` 内で処理するノード ID の範囲 [first, last) を指定するランク 1 テンソル (shape=[2])。ノードは、「for node_id in range(node_id_range[0], node_id_range[1])」のように、テンソルで指定された 2 つのノード間で反復されます (最後のインデックス node_id_range[1] は排他的であることに注意してください)。
統計概要リスト各特徴のバケットごとのノードごとの累積統計サマリー (勾配/ヘシアン) のランク 3 テンソル (#shape=[max_splits, Bucket, 2]) のリスト。テンソルの最初の次元は分割の最大数であるため、そのすべての要素が使用されるわけではなく、node_ids で指定されたインデックスのみが使用されます。
l1リーフの重みに関する l1 正則化係数 (インスタンスごと)。
l2リーフの重みに関する l2 正則化係数 (インスタンスごと)。
ツリーの複雑さリーフごとのゲインの調整。
minNodeWeightノードが分割対象とみなされるために必要となる、ノード内のヘシアンの最小平均値。
maxSplitsツリー全体で分割できるノードの数。出力テンソルの次元として使用されます。
戻り値
  • BoostedTreesCalculateBestGainsPerFeature の新しいインスタンス

public List<出力<Float>>ゲインリスト()

特定のノードに分割する各特徴の最適なゲインを示すランク 1 テンソルの出力リスト。形状やサイズなどの詳細は上記をご参照ください。

public List<出力<Float>> leftNodeContribsList ()

ランク 2 テンソルのリストは、各特徴の指定されたしきい値によって親ノード (出力 node_ids_list のテンソル要素によって指定される) から左方向に分岐するときの左ノードの寄与を示します。この値は、親ノードの値に加算して左ノードの値を作成するために使用されます。 2 次元のサイズは 1 次元ロジットの場合は 1 ですが、複数クラスの問題の場合はさらに大きくなります。形状やサイズなどの詳細は上記をご参照ください。

public List<出力<整数>> nodeIdsList ()

各特徴の可能な分割ノード ID を示すランク 1 テンソルの出力リスト。リストの長さは num_features ですが、各特徴が異なる可能なノードを提供するため、各テンソルのサイズは異なります。形状やサイズなどの詳細は上記をご参照ください。

public List<出力<Float>> rightNodeContribsList ()

ランク 2 テンソルのリスト。 left_node_contribs_list と同じ形状/条件を持ちますが、値が右側のノードのものであるだけです。

public List<出力<整数>> thresholdsList ()

各ノードでの分割のために (しきい値として) 比較するバケット ID を示すランク 1 テンソルの出力リスト。形状やサイズなどの詳細は上記をご参照ください。