BoostedTreesCalculateBestGainsPerFeature

publiczna klasa końcowa BoostedTreesCalculateBestGainsPerFeature

Oblicza zyski dla każdej cechy i zwraca najlepszą możliwą informację o podziale dla tej cechy.

Informacje o podziale obejmują najlepszy próg (identyfikator segmentu), zyski i udział lewego/prawego węzła na węzeł dla każdej cechy.

Możliwe, że nie wszystkie węzły można podzielić na każdy element. Dlatego lista możliwych węzłów może różnić się w zależności od obiektu. Dlatego dla każdej cechy zwracamy `node_ids_list`, zawierającą listę węzłów, które ta funkcja może podzielić.

W ten sposób wynik jest najlepszym podziałem na cechy i na węzeł, dlatego należy go później połączyć, aby uzyskać najlepszy podział dla każdego węzła (spośród wszystkich możliwych cech).

Wszystkie listy wyjściowe mają tę samą długość, `num_features`. Kształty wyjściowe są kompatybilne w ten sposób, że pierwszy wymiar wszystkich tensorów wszystkich list jest taki sam i równy liczbie możliwych węzłów podziału dla każdej cechy.

Metody publiczne

statyczne Wzmocnione drzewaOblicz najlepsze zyski na funkcję
utwórz ( Zakres zasięgu , Operand <Integer> nodeIdRange, Iterable< Operand <Float>> statsSummaryList, Operand <Float> l1, Operand <Float> l2, Operand <Float> TreeComplexity, Operand <Float> minNodeWeight, Long maxSplits)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację BoostedTreesCalculateBestGainsPerFeature.
Lista< Wyjście <Float>>
lista zysków ()
Lista wyjściowa tensorów rangi 1 wskazująca najlepsze zyski dla każdej cechy do podziału dla określonych węzłów.
Lista< Wyjście <Float>>
leftNodeContribsList ()
Lista tensorów rangi 2 wskazująca udział lewych węzłów podczas rozgałęziania się od węzłów nadrzędnych (podanych przez element tensorowy w wyjściowej liście węzłów_ids) w kierunku w lewo o dany próg dla każdej cechy.
Lista< Wyjście <Liczba całkowita>>
lista identyfikatorów węzłów ()
Lista wyjściowa tensorów rangi 1 wskazująca możliwe identyfikatory węzłów podziału dla każdej cechy.
Lista< Wyjście <Float>>
RightNodeContribsList ()
Lista tensorów rangi 2, o takim samym kształcie/warunkach jak left_node_contribs_list, ale tylko z tą wartością dla prawego węzła.
Lista< Wyjście <Liczba całkowita>>
progiLista ()
Lista wyjściowa tensorów rangi 1 wskazująca identyfikator segmentu do porównania (jako próg) w celu podziału w każdym węźle.

Metody dziedziczone

Metody publiczne

public static BoostedTreesCalculateBestGainsPerFeature create ( Zakres zasięgu , Operand <Integer> nodeIdRange, Iterable< Operand <Float>> statsSummaryList, Operand <Float> l1, Operand <Float> l2, Operand <Float> TreeComplexity, Operand <Float> minNodeWeight, Long maxSplits)

Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację BoostedTreesCalculateBestGainsPerFeature.

Parametry
zakres aktualny zakres
zakres identyfikatora węzła Tensor rangi 1 (kształt=[2]) określający zakres [pierwszy, ostatni) identyfikatorów węzłów do przetworzenia w ramach `stats_summary_list`. Węzły są iterowane pomiędzy dwoma węzłami określonymi przez tensor, na przykład „dla identyfikatora_węzła w zakresie (zakres_id_węzła[0], zakres_id_węzła[1])” (Zauważ, że ostatni indeks zakres_id_węzła[1] jest wyłączny).
lista podsumowań statystyk Lista tensora rangi 3 (#shape=[max_splits, segment, 2]) dla podsumowania skumulowanych statystyk (gradient/hesjan) na węzeł na segmenty dla każdej funkcji. Pierwszym wymiarem tensora jest maksymalna liczba podziałów, dlatego nie wszystkie jego elementy zostaną wykorzystane, a jedynie indeksy określone przez node_ids.
l1 l1 współczynnik regularyzacji masy liści, na podstawie przypadku.
l2 l2 współczynnik regularyzacji masy liści, na podstawie przypadku.
drzewoZłożoność dostosowanie do wzmocnienia w przeliczeniu na liść.
minWaga węzła minimalna średnia hesjanów w węźle, zanim będzie wymagana, aby węzeł został uwzględniony przy podziale.
maxSplits liczba węzłów, które można podzielić w całym drzewie. Używany jako wymiar tensorów wyjściowych.
Zwroty
  • nowa instancja BoostedTreesCalculateBestGainsPerFeature

public List< Output <Float>> zyskiList ()

Lista wyjściowa tensorów rangi 1 wskazująca najlepsze zyski dla każdej cechy do podziału dla określonych węzłów. Szczegóły, takie jak kształty i rozmiary, znajdziesz powyżej.

public List< Output <Float>> leftNodeContribsList ()

Lista tensorów rangi 2 wskazująca udział lewych węzłów podczas rozgałęziania się od węzłów nadrzędnych (podanych przez element tensorowy w wyjściowej liście węzłów_ids) w kierunku w lewo o dany próg dla każdej cechy. Ta wartość zostanie użyta do utworzenia wartości lewego węzła poprzez dodanie do wartości węzła nadrzędnego. Rozmiar drugiego wymiaru wynosi 1 dla logitów jednowymiarowych, ale byłby większy w przypadku problemów wieloklasowych. Szczegóły, takie jak kształty i rozmiary, znajdziesz powyżej.

public List< Output <Integer>> nodeIdsList ()

Lista wyjściowa tensorów rangi 1 wskazująca możliwe identyfikatory węzłów podziału dla każdej cechy. Długość listy wynosi num_features, ale każdy tensor ma inny rozmiar, ponieważ każda funkcja zapewnia różne możliwe węzły. Szczegóły, takie jak kształty i rozmiary, znajdziesz powyżej.

public List< Output <Float>> rightNodeContribsList ()

Lista tensorów rangi 2, o takim samym kształcie/warunkach jak left_node_contribs_list, ale tylko z tą wartością dla prawego węzła.

public List< Output <Integer>> progiList ()

Lista wyjściowa tensorów rangi 1 wskazująca identyfikator segmentu do porównania (jako próg) w celu podziału w każdym węźle. Szczegóły, takie jak kształty i rozmiary, znajdziesz powyżej.