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).
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.
Klasy zagnieżdżone
klasa | BoostedTreesSparseCalculateBestFeatureSplit.Opcje | Opcjonalne atrybuty dla BoostedTreesSparseCalculateBestFeatureSplit |
Stałe
Strunowy | OP_NAME | Nazwa tej operacji znana silnikowi rdzenia TensorFlow |
Metody publiczne
statyczne WzmocnioneDrzewaSparseCalculateBestFeatureSplit | utwórz (Zakres zasięgu , Operand < TInt32 > nodeIdRange, Operand < TInt32 > statsSummaryIndices, Operand < TFloat32 > statsSummaryValues, Operand < TInt32 > statsSummaryShape, Operand < TFloat32 > l1, Operand < TFloat32 > l2, Operand < TFloat32 > TreeComplex Istota, Operand < TFloat32 > minNodeWeight, Long logitsDimension, Opcje... opcje) Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację BoostedTreesSparseCalculateBestFeatureSplit. |
Dane wyjściowe <TInt32> | funkcjaWymiary () Tensor rangi 1 wskazujący najlepszy wymiar cechy dla każdej cechy do podziału dla każdego węzła. |
Dane wyjściowe <TFloat32> | zyski () Tensor rangi 1 wskazujący najlepsze zyski przy podziale każdego węzła. |
Dane wyjściowe <TFloat32> | leftNodeContribs () Tensor rangi 2 wskazujący udział lewych węzłów podczas rozgałęziania się od węzłów nadrzędnych w lewo o dany próg dla każdej cechy. |
Dane wyjściowe <TInt32> | identyfikatory węzłów () Tensor rangi 1 wskazujący możliwe identyfikatory węzłów, które można podzielić. |
Dane wyjściowe <TFloat32> | RightNodeContribs () Tensor rangi 2, o takim samym kształcie/warunkach jak left_node_contribs_list, ale tylko z tą wartością dla prawego węzła. |
statyczne BoostedTreesSparseCalculateBestFeatureSplit.Options | splitType (ciąg typu split) |
Dane wyjściowe <TString> | splitWithDefaultDirections () Tensor rangi 1 wskazujący kierunek, w którym należy podążać, jeśli brakuje danych. |
Dane wyjściowe <TInt32> | progi () Tensor rangi 1 wskazujący 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 BoostedTreesSparseCalculateBestFeatureSplit utwórz ( Zakres zakresu, Operand < TInt32 > nodeIdRange, Operand < TInt32 > statsSummaryIndices, Operand < TFloat32 > statsSummaryValues, Operand < TInt32 > statsSummaryShape, Operand < TFloat32 > l1, Operand < TFloat32 > l2, Operand < TFloat32 > złożoność drzewa, Operand < TFloat32 > minNodeWeight, Long logitsDimension, Opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację BoostedTreesSparseCalculateBestFeatureSplit.
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). |
statystyki podsumowująceIndeksy | Tensor rangi 2 int64 o gęstym kształcie [N, 4] (N określa liczbę wartości niezerowych) dla podsumowania skumulowanych statystyk (gradient/hesjan) na węzeł na segment dla każdej cechy. Drugi wymiar zawiera identyfikator węzła, wymiar funkcji, identyfikator segmentu i przyciemnienie statystyk. stats dim jest sumą wymiaru logitowego i wymiaru hesyjskiego, wymiar hesyjski może być albo wymiarem logitowym, jeśli używany jest hessian diagonalny, albo wymiarem logitowym^2, jeśli używany jest pełny hessian. |
statystykiPodsumowujące wartości | Tensor zmiennoprzecinkowy rangi 1 o gęstym kształcie [N] (N określa liczbę wartości niezerowych), który dostarcza wartości dla każdego elementu w podsumowaniach. |
statystykiPodsumowanieKształt | Tensor zmiennoprzecinkowy rangi 1 o gęstym kształcie [4], który określa gęsty kształt rzadkiego tensora, którym jest [liczba węzłów drzewa, wymiary obiektów, liczba wiader, statystyki dim]. |
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. |
opcje | przenosi opcjonalne wartości atrybutów |
Zwroty
- nowa instancja BoostedTreesSparseCalculateBestFeatureSplit
publiczne wyjście < TInt32 > featureDimensions ()
Tensor rangi 1 wskazujący najlepszy wymiar cechy dla każdej cechy do podziału dla każdego węzła.
publiczne wyjście < TFloat32 > zyski ()
Tensor rangi 1 wskazujący najlepsze zyski przy podziale każdego węzła.
publiczne wyjście < TFloat32 > leftNodeContribs ()
Tensor rangi 2 wskazujący udział lewych węzłów podczas rozgałęziania się od węzłów nadrzędnych 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 to wymiar logitowy.
publiczne dane wyjściowe < TInt32 > identyfikatory węzłów ()
Tensor rangi 1 wskazujący możliwe identyfikatory węzłów, które można podzielić.
publiczne wyjście < TFloat32 > rightNodeContribs ()
Tensor 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 static BoostedTreesSparseCalculateBestFeatureSplit.Options splitType (String splitType)
Parametry
typ podziału | Ciąg wskazujący, czy ta operacja powinna wykonać podział nierówności czy podział równości. |
---|
publiczne wyjście < TString > splitWithDefaultDirections ()
Tensor rangi 1 wskazujący kierunek, w którym należy podążać, jeśli brakuje danych. Nierówność przy domyślnym lewym zwraca 0, nierówność przy domyślnym prawym zwraca 1, równość przy domyślnym prawym zwraca 2.