Oblicza zyski dla każdej cechy i zwraca najlepszą możliwą informację o podziale dla każdego węzła. Jeśli jednak nie zostanie znaleziony żaden podział, dla tego węzła nie zostaną zwrócone żadne informacje o podziale.
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).
Kształty wyjściowe są kompatybilne w ten sposób, że pierwszy wymiar wszystkich tensorów jest taki sam i równy liczbie możliwych węzłów podziału dla każdej cechy.
Stałe
| Strunowy | OP_NAME | Nazwa tej operacji znana silnikowi rdzenia TensorFlow | 
Metody publiczne
| statyczne WzmocnioneDrzewaCalculateBestFeatureSplitV2 |  utwórz (Zakres zasięgu , Operand < TInt32 > nodeIdRange, Iterable< Operand < TFloat32 >> statsSummariesList, Operand < TString > splitTypes, Operand < TInt32 > CandidateIds, Operand < TFloat32 > l1, Operand < TFloat32 > l2, Operand < TFloat32 > TreeComplexity, Operand < TFloat32 > minNodeWeight, Long logitsDimension)  Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację BoostedTreesCalculateBestFeatureSplitV2. | 
| Dane wyjściowe <TInt32> |  funkcjaWymiary ()  Tensory rangi 1 wskazujące najlepszy wymiar cechy dla każdej cechy do podziału dla określonych węzłów, jeśli cecha jest wielowymiarowa. | 
| Dane wyjściowe <TInt32> |  identyfikatory funkcji ()  Tensory rangi 1 wskazujące najlepszy identyfikator cechy dla każdego węzła. | 
| Dane wyjściowe <TFloat32> |  zyski ()  Tensor rangi 1 wskazujący najlepsze zyski dla każdej cechy do podziału dla określonych węzłów. | 
| Dane wyjściowe <TFloat32> |  leftNodeContribs ()  Tensory rangi 2 wskazujące udział lewych węzłów podczas rozgałęziania się od węzłów nadrzędnych (podany przez element tensorowy w wyjściowej liście węzłów) w kierunku w lewo o dany próg dla każdej cechy. | 
| Dane wyjściowe <TInt32> |  identyfikatory węzłów ()  Tensory rangi 1 wskazujące możliwe identyfikatory węzłów podziału dla każdej cechy. | 
| Dane wyjściowe <TFloat32> |  RightNodeContribs ()  Tensory rangi 2, o takim samym kształcie/warunkach jak left_node_contribs_list, ale tylko z tą wartością dla prawego węzła. | 
| Dane wyjściowe <TString> |  splitWithDefaultDirections ()  Tensory rangi 1 wskazujące kierunek, w którym należy podążać, jeśli brakuje danych. | 
| Dane wyjściowe <TInt32> |  progi ()  Tensory rangi 1 wskazujące identyfikator segmentu do porównania (jako próg) w celu podziału w każdym węźle.  | 
Metody dziedziczone
Stałe
publiczny statyczny końcowy ciąg znaków OP_NAME
Nazwa tej operacji znana silnikowi rdzenia TensorFlow
Metody publiczne
public static BoostedTreesCalculateBestFeatureSplitV2 create ( Zakres zakresu, Operand < TInt32 > nodeIdRange, Iterable< Operand < TFloat32 >> statsSummariesList, Operand < TString > splitTypes, Operand < TInt32 > CandidateFeatureIds, Operand < TFloat32 > l1, Operand < TFloat32 > l 2, Operand < TFloat32 > TreeComplexity, Operand < TFloat32 > minNodeWeight, Long logitsDimension)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację BoostedTreesCalculateBestFeatureSplitV2.
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). | 
| statystykiPodsumowaniaLista | Lista tensora rangi 4 (#shape=[max_splits, feature_dims, wiadro, stats_dims]) dla podsumowania skumulowanych statystyk (gradient/hessian) na węzeł, na wymiar, 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. | 
| typy podziału | Tensor rangi 1 wskazujący, czy ta operacja powinna wykonywać podział nierówności czy podział równości na funkcję. | 
| Identyfikatory kandydatów i funkcji | Tensor rangi 1 z identyfikatorami dla każdej funkcji. To jest prawdziwy identyfikator funkcji. | 
| 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. | 
| wymiar logitowy | Wymiar logitu, czyli liczby klas. | 
Zwroty
- nowa instancja BoostedTreesCalculateBestFeatureSplitV2
publiczne wyjście < TInt32 > featureDimensions ()
Tensory rangi 1 wskazujące najlepszy wymiar cechy dla każdej cechy do podziału dla określonych węzłów, jeśli cecha jest wielowymiarowa. Szczegóły, takie jak kształty i rozmiary, znajdziesz powyżej.
publiczne dane wyjściowe < TInt32 > identyfikatory funkcji ()
Tensory rangi 1 wskazujące najlepszy identyfikator cechy dla każdego węzła. Szczegóły, takie jak kształty i rozmiary, znajdziesz powyżej.
publiczne wyjście < TFloat32 > zyski ()
Tensor rangi 1 wskazujący 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.
publiczne wyjście < TFloat32 > leftNodeContribs ()
Tensory rangi 2 wskazujące udział lewych węzłów podczas rozgałęziania się od węzłów nadrzędnych (podany przez element tensorowy w wyjściowej liście węzłów) 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.
publiczne dane wyjściowe < TInt32 > identyfikatory węzłów ()
Tensory rangi 1 wskazujące 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.
publiczne wyjście < TFloat32 > rightNodeContribs ()
Tensory rangi 2, o takim samym kształcie/warunkach jak left_node_contribs_list, ale tylko z tą wartością dla prawego węzła.
publiczne wyjście < TString > splitWithDefaultDirections ()
Tensory rangi 1 wskazujące kierunek, w którym należy podążać, jeśli brakuje danych. Szczegóły, takie jak kształty i rozmiary, znajdziesz powyżej. Nierówność przy domyślnym lewym zwraca 0, nierówność przy domyślnym prawym zwraca 1, równość przy domyślnym prawym zwraca 2.