各特徴のゲインを計算し、その特徴に対して可能な限り最適な分割情報を返します。
分割情報は、各特徴のノードごとの最適なしきい値 (バケット ID)、ゲイン、および左右のノードの寄与です。
すべてのノードを各フィーチャで分割できない可能性があります。したがって、可能なノードのリストはフィーチャ間で異なる場合があります。したがって、この機能を分割するために使用できるノードのリストを含む、各機能の「node_ids_list」を返します。
この方法では、出力は機能ごとおよびノードごとに最適な分割となるため、後で結合して (可能なすべての機能の中で) 各ノードに最適な分割を生成する必要があります。
出力リストの長さはすべて同じ長さ `num_features` です。出力形状は、すべてのリストのすべてのテンソルの最初の次元が同じであり、各フィーチャの可能な分割ノードの数に等しいという点で互換性があります。
パブリックメソッド
静的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>> 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 テンソルの出力リスト。形状やサイズなどの詳細は上記をご参照ください。