各機能のゲインを計算し、各ノードについて可能な限り最適な分割情報を返します。ただし、分割が見つからない場合、そのノードの分割情報は返されません。
分割情報は、各特徴のノードごとの最適なしきい値 (バケット ID)、ゲイン、および左右のノードの寄与です。
すべてのノードを各フィーチャで分割できない可能性があります。したがって、可能なノードのリストはフィーチャ間で異なる場合があります。したがって、この機能を分割するために使用できるノードのリストを含む、各機能の「node_ids_list」を返します。
この方法では、出力は機能ごとおよびノードごとに最適な分割となるため、(可能なすべての機能の中で) 各ノードに最適な分割を生成するには、後で結合する必要があります。
出力形状は、すべてのテンソルの最初の次元が同じであり、各フィーチャの可能な分割ノードの数に等しいという点で互換性があります。
パブリックメソッド
静的BoostedTreesCalculateBestFeatureSplitV2 | create ( Scopeスコープ、オペランド<Integer> nodeIdRange、Iterable< Operand <Float>> statsSummariesList、オペランド<String> splitTypes、オペランド<Integer> CandidateFeatureIds、オペランド<Float> l1、オペランド<Float> l2、オペランド<Float> TreeComplexity、オペランド<Float> minNodeWeight、Long logitsDimension) 新しい BoostedTreesCalculateBestFeatureSplitV2 オペレーションをラップするクラスを作成するファクトリ メソッド。 |
出力<整数> | 機能寸法() 特徴が多次元である場合に、特定のノードに対して分割する各特徴の最適な特徴次元を示すランク 1 テンソル。 |
出力<整数> | 機能 ID () 各ノードの最良の特徴 ID を示すランク 1 テンソル。 |
出力<浮動小数点> | 利益() 特定のノードに分割する各特徴の最適なゲインを示すランク 1 テンソル。 |
出力<浮動小数点> | leftNodeContribs () ランク 2 テンソルは、各特徴の指定されたしきい値によって親ノード (出力 node_ids_list のテンソル要素によって指定される) から左方向に分岐するときの左ノードの寄与を示します。 |
出力<整数> | ノードID () 各特徴の可能な分割ノード ID を示すランク 1 テンソル。 |
出力<浮動小数点> | rightNodeContribs () left_node_contribs_list と同じ形状/条件を持つランク 2 テンソルですが、値が右側のノードのものであるだけです。 |
出力<文字列> | splitWithDefaultDirections () データが欠落している場合にどの方向に進むかを示すランク 1 テンソル。 |
出力<整数> | しきい値() 各ノードでの分割に関して (しきい値として) 比較するバケット ID を示すランク 1 テンソル。 |
継承されたメソッド
パブリックメソッド
public static BoostedTreesCalculateBestFeatureSplitV2 create ( Scopeスコープ、オペランド<Integer> nodeIdRange、Iterable< Operand <Float>> statsSummariesList、オペランド<String> SplitTypes、オペランド<Integer> CandidateFeatureIds、オペランド<Float> l1、オペランド<Float> l2、オペランド<Float >treeComplexity、オペランド<Float> minNodeWeight、Long logitsDimension)
新しい BoostedTreesCalculateBestFeatureSplitV2 オペレーションをラップするクラスを作成するファクトリ メソッド。
パラメーター
範囲 | 現在のスコープ |
---|---|
ノード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] は排他的であることに注意してください)。 |
統計概要リスト | 各特徴のノードごと、ディメンションごと、バケットごとの累積統計サマリー (勾配/ヘシアン) のランク 4 テンソル (#shape=[max_splits, feature_dims,bucket, stats_dims]) のリスト。テンソルの最初の次元は分割の最大数であるため、そのすべての要素が使用されるわけではなく、node_ids で指定されたインデックスのみが使用されます。 |
分割タイプ | この Op が特徴ごとに不等分割または等価分割を実行する必要があるかどうかを示すランク 1 テンソル。 |
候補機能 ID | 各特徴の ID を持つランク 1 テンソル。これは機能の実際の ID です。 |
l1 | リーフの重みに関する l1 正則化係数 (インスタンスごと)。 |
l2 | リーフの重みに関する l2 正則化係数 (インスタンスごと)。 |
ツリーの複雑さ | リーフごとのゲインの調整。 |
minNodeWeight | ノードが分割対象とみなされるために必要となる、ノード内のヘシアンの最小平均値。 |
ロジッツ寸法 | ロジットの次元、つまりクラスの数。 |
戻り値
- BoostedTreesCalculateBestFeatureSplitV2 の新しいインスタンス
public Output <Integer> featureDimensions ()
特徴が多次元である場合に、特定のノードに対して分割する各特徴の最適な特徴次元を示すランク 1 テンソル。形状やサイズなどの詳細は上記をご参照ください。
public出力<Float> leftNodeContribs ()
ランク 2 テンソルは、各特徴の指定されたしきい値によって親ノード (出力 node_ids_list のテンソル要素によって指定される) から左方向に分岐するときの左ノードの寄与を示します。この値は、親ノードの値に加算して左ノードの値を作成するために使用されます。 2 次元のサイズは 1 次元ロジットの場合は 1 ですが、複数クラスの問題の場合はさらに大きくなります。形状やサイズなどの詳細は上記をご参照ください。
public Output <Integer>ノード ID ()
各特徴の可能な分割ノード ID を示すランク 1 テンソル。リストの長さは num_features ですが、各特徴が異なる可能なノードを提供するため、各テンソルのサイズは異なります。形状やサイズなどの詳細は上記をご参照ください。
public出力<Float> rightNodeContribs ()
left_node_contribs_list と同じ形状/条件を持つランク 2 テンソルですが、値が右側のノードのものであるだけです。
public Output <String> splitWithDefaultDirections ()
データが欠落している場合にどの方向に進むかを示すランク 1 テンソル。形状やサイズなどの詳細は上記をご参照ください。デフォルトの左との不等号は 0 を返し、デフォルトの右との不等号は 1 を返し、デフォルトの右との等号は 2 を返します。