BoostedTreesCalculateBestFeatureSplitV2

공개 최종 클래스 BoostedTreesCalculateBestFeatureSplitV2

각 기능에 대한 이득을 계산하고 각 노드에 대해 가능한 최상의 분할 정보를 반환합니다. 그러나 분할이 발견되지 않으면 해당 노드에 대한 분할 정보가 반환되지 않습니다.

분할 정보는 각 기능에 대한 노드당 최상의 임계값(버킷 ID), 이득 및 왼쪽/오른쪽 노드 기여도입니다.

각 기능에서 모든 노드를 분할할 수는 없을 수도 있습니다. 따라서 가능한 노드 목록은 기능마다 다를 수 있습니다. 따라서 이 기능을 사용하여 분할할 수 있는 노드 목록이 포함된 각 기능에 대해 'node_ids_list'를 반환합니다.

이러한 방식으로 출력은 기능별 및 노드별로 최상의 분할이므로 나중에 결합하여 (가능한 모든 기능 중에서) 각 노드에 대해 최상의 분할을 생성해야 합니다.

출력 형태는 모든 텐서의 첫 번째 차원이 동일하고 각 기능에 대해 가능한 분할 노드 수와 동일한 방식으로 호환됩니다.

공개 방법

정적 BoostedTreesCalculateBestFeatureSplitV2
create ( Scope 범위, Operand <Integer> nodeIdRange, Iterable< Operand <Float>> statsSummariesList, Operand <String> SplitTypes, Operand <Integer> CandidateFeatureIds, Operand <Float> l1, Operand <Float> l2, Operand <Float> treeComplexity, 피연산자 <Float> minNodeWeight, Long logitsDimension)
새로운 BoostedTreesCalculateBestFeatureSplitV2 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
출력 <정수>
기능크기 ()
기능이 다차원인 경우 특정 노드에 대해 분할할 각 기능에 대한 최상의 기능 차원을 나타내는 순위 1 텐서.
출력 <정수>
기능 ID ()
각 노드에 대한 최상의 기능 ID를 나타내는 순위 1 텐서.
출력 <플로트>
이득 ()
특정 노드에 대해 분할할 각 기능의 최고 이득을 나타내는 순위 1 텐서.
출력 <플로트>
leftNodeContribs ()
상위 노드(출력 node_ids_list의 텐서 요소에 의해 제공됨)에서 각 기능에 대해 지정된 임계값만큼 왼쪽 방향으로 분기할 때 왼쪽 노드의 기여도를 나타내는 순위 2 텐서입니다.
출력 <정수>
노드 ID ()
각 기능에 대해 가능한 분할 노드 ID를 나타내는 순위 1 텐서.
출력 <플로트>
rightNodeContribs ()
left_node_contribs_list와 동일한 모양/조건을 갖는 순위 2 텐서이지만 값은 오른쪽 노드에 대한 것입니다.
출력 <문자열>
SplitWithDefaultDirections ()
데이터가 누락된 경우 이동할 방향을 나타내는 순위 1 텐서.
출력 <정수>
임계값 ()
각 노드의 분할을 위해 (임계값으로) 비교할 버킷 ID를 나타내는 순위 1 텐서.

상속된 메서드

공개 방법

public static BoostedTreesCalculateBestFeatureSplitV2 create ( Scope 범위, Operand <Integer> nodeIdRange, Iterable< Operand <Float>> statsSummariesList, Operand <String> SplitTypes, Operand <Integer> CandidateFeatureIds, Operand <Float> l1, Operand <Float> l2, Operand <Float > treeComplexity, 피연산자 <Float> minNodeWeight, Long logitsDimension)

새로운 BoostedTreesCalculateBestFeatureSplitV2 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.

매개변수
범위 현재 범위
nodeIdRange `stats_summary_list` 내에서 처리할 노드 ID의 범위[첫 번째, 마지막)를 지정하는 순위 1 텐서(모양=[2]). 노드는 'for node_id in range(node_id_range[0], node_id_range[1])'처럼 텐서에 의해 지정된 두 노드 사이에서 반복됩니다(마지막 인덱스 node_id_range[1]은 제외됩니다).
통계요약목록 각 기능에 대한 노드별, 차원별, 버킷별 누적 통계 요약(그라디언트/헤시안)을 위한 순위 4 텐서(#shape=[max_splits, feature_dims, bucket, stats_dims]) 목록입니다. 텐서의 첫 번째 차원은 최대 분할 수이므로 모든 요소가 사용되지는 않지만 node_ids에 지정된 인덱스만 사용됩니다.
분할 유형 이 작업이 불평등 분할을 수행해야 하는지 또는 특성당 균등 분할을 수행해야 하는지를 나타내는 순위 1 텐서입니다.
후보 기능 ID 각 기능에 대한 ID가 있는 1순위 텐서입니다. 이는 기능의 실제 ID입니다.
l1 l1 인스턴스 기반 리프 가중치에 대한 정규화 인자.
l2 l2 인스턴스 기반 리프 가중치에 대한 정규화 인자입니다.
트리복잡성 리프별로 이득을 조정합니다.
minNodeWeight 노드 분할을 고려하기 전에 노드에 있는 헤센의 최소 평균입니다.
로지트차원 로짓의 차원, 즉 클래스 수.
보고
  • BoostedTreesCalculateBestFeatureSplitV2의 새로운 인스턴스

공개 출력 <Integer> featureDimensions ()

기능이 다차원인 경우 특정 노드에 대해 분할할 각 기능에 대한 최상의 기능 차원을 나타내는 순위 1 텐서. 모양이나 크기와 같은 세부정보는 위를 참조하세요.

공개 출력 <Integer> featureIds ()

각 노드에 대한 최상의 기능 ID를 나타내는 순위 1 텐서. 모양이나 크기와 같은 세부정보는 위를 참조하세요.

공개 출력 <Float> 이득 ()

특정 노드에 대해 분할할 각 기능의 최고 이득을 나타내는 순위 1 텐서. 모양이나 크기와 같은 세부정보는 위를 참조하세요.

공개 출력 <Float> leftNodeContribs ()

상위 노드(출력 node_ids_list의 텐서 요소에 의해 제공됨)에서 각 기능에 대해 지정된 임계값만큼 왼쪽 방향으로 분기할 때 왼쪽 노드의 기여도를 나타내는 순위 2 텐서입니다. 이 값은 부모 노드 값에 더해 왼쪽 노드 값을 만드는 데 사용됩니다. 두 번째 차원 크기는 1차원 로짓의 경우 1이지만 다중 클래스 문제의 경우 더 커집니다. 모양이나 크기와 같은 세부정보는 위를 참조하세요.

공개 출력 <Integer> nodeIds ()

각 기능에 대해 가능한 분할 노드 ID를 나타내는 순위 1 텐서. 목록의 길이는 num_features이지만 각 기능은 서로 다른 가능한 노드를 제공하므로 각 텐서는 크기가 다릅니다. 모양이나 크기와 같은 세부정보는 위를 참조하세요.

공개 출력 <Float> rightNodeContribs ()

left_node_contribs_list와 동일한 모양/조건을 갖는 순위 2 텐서이지만 값은 오른쪽 노드에 대한 것입니다.

공개 출력 <String> SplitWithDefaultDirections ()

데이터가 누락된 경우 이동할 방향을 나타내는 순위 1 텐서. 모양이나 크기와 같은 세부정보는 위를 참조하세요. 기본 왼쪽과의 부등식은 0을 반환하고, 기본 오른쪽과의 부등식은 1을 반환하며, 기본 오른쪽과의 동일성은 2를 반환합니다.

공개 출력 <Integer> 임계값 ()

각 노드의 분할을 위해 (임계값으로) 비교할 버킷 ID를 나타내는 순위 1 텐서. 모양이나 크기와 같은 세부정보는 위를 참조하세요.