Menghitung keuntungan untuk setiap fitur dan mengembalikan informasi split terbaik untuk setiap node. Namun, jika tidak ada pemisahan yang ditemukan, maka tidak ada informasi pemisahan yang dikembalikan untuk simpul tersebut.
Informasi split adalah ambang terbaik (bucket id), keuntungan dan kontribusi node kiri/kanan per node untuk setiap fitur.
Ada kemungkinan tidak semua node dapat dipecah pada setiap fitur. Oleh karena itu, daftar kemungkinan node dapat berbeda di antara fitur-fiturnya. Oleh karena itu, kami mengembalikan `node_ids_list` untuk setiap fitur, yang berisi daftar node yang dapat digunakan untuk memisahkan fitur ini.
Dengan cara ini, outputnya adalah split terbaik per fitur dan per node, sehingga perlu digabungkan nanti untuk menghasilkan split terbaik untuk setiap node (di antara semua fitur yang mungkin).
Bentuk output kompatibel sedemikian rupa sehingga dimensi pertama dari semua tensor adalah sama dan sama dengan jumlah node split yang mungkin untuk setiap fitur.
Metode Publik
statis BoostedTreesCalculateBestFeatureSplitV2 | membuat ( Lingkup lingkup, Operan <Integer> nodeIdRange, Iterable < Operan <Lampung >> statsSummariesList, Operan <String> splitTypes, Operan <Integer> candidateFeatureIds, Operan <Lampung> l1, Operan <Lampung> l2, Operan <Lampung> treeComplexity, operan <Lampung> minNodeWeight, Long logitsDimension) Metode pabrik untuk membuat kelas yang membungkus operasi BoostedTreesCalculateBestFeatureSplitV2 baru. |
Output <Integer> | featureDimensions () Tensor Peringkat 1 yang menunjukkan dimensi fitur terbaik untuk setiap fitur untuk dipisah untuk node tertentu jika fitur tersebut multidimensi. |
Output <Integer> | featureIds () Tensor Peringkat 1 yang menunjukkan id fitur terbaik untuk setiap node. |
Output <Lampung> | keuntungan () Tensor Peringkat 1 yang menunjukkan keuntungan terbaik untuk setiap fitur untuk dipisah untuk node tertentu. |
Output <Lampung> | leftNodeContribs () Tensor Peringkat 2 yang menunjukkan kontribusi node kiri saat bercabang dari node induk (diberikan oleh elemen tensor dalam output node_ids_list) ke arah kiri oleh ambang batas yang diberikan untuk setiap fitur. |
Output <Integer> | nodeIds () Tensor Peringkat 1 yang menunjukkan kemungkinan id node terpisah untuk setiap fitur. |
Output <Lampung> | rightNodeContribs () Tensor Peringkat 2, dengan bentuk/kondisi yang sama dengan left_node_contribs_list, tetapi nilainya hanya untuk node kanan. |
Output <String> | splitWithDefaultDirections () Tensor Peringkat 1 yang menunjukkan arah mana yang harus dituju jika data tidak ada. |
Output <Integer> | ambang batas () Tensor Peringkat 1 yang menunjukkan id bucket untuk dibandingkan (sebagai ambang batas) untuk pemisahan di setiap node. |
Metode yang Diwarisi
Metode Publik
public static BoostedTreesCalculateBestFeatureSplitV2 membuat ( Scope lingkup, Operan <Integer> nodeIdRange, Iterable < Operan <Lampung >> statsSummariesList, Operan <String> splitTypes, Operan <Integer> candidateFeatureIds, Operan <Lampung> l1, Operan <Lampung> l2, Operan <Lampung > treeComplexity, Operan <Lampung> minNodeWeight, Long logitsDimension)
Metode pabrik untuk membuat kelas yang membungkus operasi BoostedTreesCalculateBestFeatureSplitV2 baru.
Parameter
cakupan | lingkup saat ini |
---|---|
nodeIdRange | Tensor Peringkat 1 (bentuk=[2]) untuk menentukan rentang [pertama, terakhir) id node yang akan diproses dalam `stats_summary_list`. Node diulang di antara dua node yang ditentukan oleh tensor, seperti `untuk node_id dalam range(node_id_range[0], node_id_range[1])` (Perhatikan bahwa indeks terakhir node_id_range[1] eksklusif). |
statsSummariesList | Daftar tensor Peringkat 4 (#shape=[max_splits, feature_dims, bucket, stats_dims]) untuk akumulasi ringkasan statistik (gradien/hessian) per node, per dimensi, per bucket untuk setiap fitur. Dimensi pertama dari tensor adalah jumlah maksimum pemisahan, dan dengan demikian tidak semua elemennya akan digunakan, tetapi hanya indeks yang ditentukan oleh node_ids yang akan digunakan. |
splitTypes | Tensor Peringkat 1 yang menunjukkan apakah Op ini harus melakukan pembagian ketidaksetaraan atau pemerataan per fitur. |
kandidatFiturId | Peringkat 1 tensor dengan id untuk setiap fitur. Ini adalah id sebenarnya dari fitur tersebut. |
l1 | l1 faktor regularisasi pada bobot daun, berdasarkan contoh. |
l2 | l2 faktor regularisasi pada bobot daun, berdasarkan contoh. |
kompleksitas pohon | penyesuaian untuk keuntungan, per daun berbasis. |
minNodeWeight | rata-rata minimum hessians dalam sebuah node sebelum diperlukan agar node dipertimbangkan untuk dipecah. |
LogitsDimensi | Dimensi logit, yaitu jumlah kelas. |
Kembali
- contoh baru BoostedTreesCalculateBestFeatureSplitV2
publik Keluaran <Integer> featureDimensions ()
Tensor Peringkat 1 yang menunjukkan dimensi fitur terbaik untuk setiap fitur untuk dipisah untuk node tertentu jika fitur tersebut multidimensi. Lihat di atas untuk detail seperti bentuk dan ukuran.
publik Keluaran <Integer> featureIds ()
Tensor Peringkat 1 yang menunjukkan id fitur terbaik untuk setiap node. Lihat di atas untuk detail seperti bentuk dan ukuran.
publik Keluaran <Lampung> keuntungan ()
Tensor Peringkat 1 yang menunjukkan keuntungan terbaik untuk setiap fitur untuk dipisah untuk node tertentu. Lihat di atas untuk detail seperti bentuk dan ukuran.
publik Keluaran <Lampung> leftNodeContribs ()
Tensor Peringkat 2 yang menunjukkan kontribusi node kiri saat bercabang dari node induk (diberikan oleh elemen tensor dalam output node_ids_list) ke arah kiri oleh ambang batas yang diberikan untuk setiap fitur. Nilai ini akan digunakan untuk membuat nilai simpul kiri dengan menambahkan nilai simpul induk. Ukuran dimensi kedua adalah 1 untuk logit 1 dimensi, tetapi akan lebih besar untuk masalah multi-kelas. Lihat di atas untuk detail seperti bentuk dan ukuran.
publik Keluaran <Integer> nodeIds ()
Tensor Peringkat 1 yang menunjukkan kemungkinan id node terpisah untuk setiap fitur. Panjang daftar adalah num_features, tetapi setiap tensor memiliki ukuran yang berbeda karena setiap fitur menyediakan kemungkinan node yang berbeda. Lihat di atas untuk detail seperti bentuk dan ukuran.
publik Keluaran <Lampung> rightNodeContribs ()
Tensor Peringkat 2, dengan bentuk/kondisi yang sama dengan left_node_contribs_list, tetapi nilainya hanya untuk node kanan.
publik Keluaran <String> splitWithDefaultDirections ()
Tensor Peringkat 1 yang menunjukkan arah mana yang harus dituju jika data tidak ada. Lihat di atas untuk detail seperti bentuk dan ukuran. Pertidaksamaan dengan pengembalian kiri default 0, ketidaksetaraan dengan pengembalian kanan default 1, kesetaraan dengan pengembalian kanan default 2.
publik Keluaran <Integer> ambang batas ()
Tensor Peringkat 1 yang menunjukkan id bucket untuk dibandingkan (sebagai ambang batas) untuk pemisahan di setiap node. Lihat di atas untuk detail seperti bentuk dan ukuran.