BoostedTreesCalculateBestFeatureSplitV2

सार्वजनिक अंतिम वर्ग BoostedTreesCalculateBestFeatureSplitV2

प्रत्येक सुविधा के लिए लाभ की गणना करता है और प्रत्येक नोड के लिए सर्वोत्तम संभव विभाजन जानकारी देता है। हालांकि, अगर कोई विभाजन नहीं मिलता है, तो उस नोड के लिए कोई विभाजन जानकारी नहीं दी जाती है।

विभाजित जानकारी प्रत्येक सुविधा के लिए प्रति नोड सर्वोत्तम सीमा (बाल्टी आईडी), लाभ और बाएं/दाएं नोड योगदान है।

यह संभव है कि प्रत्येक फीचर पर सभी नोड्स को विभाजित नहीं किया जा सकता है। इसलिए, संभावित नोड्स की सूची सुविधाओं के बीच भिन्न हो सकती है। इसलिए, हम प्रत्येक सुविधा के लिए `node_ids_list` लौटाते हैं, जिसमें नोड्स की सूची होती है जिसे विभाजित करने के लिए इस सुविधा का उपयोग किया जा सकता है।

इस तरह, आउटपुट प्रति फीचर और प्रति नोड सबसे अच्छा विभाजन है, ताकि प्रत्येक नोड (सभी संभावित सुविधाओं के बीच) के लिए सर्वश्रेष्ठ विभाजन का उत्पादन करने के लिए इसे बाद में संयोजित करने की आवश्यकता हो।

आउटपुट आकार इस तरह से संगत हैं कि सभी टेंसरों का पहला आयाम समान है और प्रत्येक फीचर के लिए संभावित स्प्लिट नोड्स की संख्या के बराबर है।

सार्वजनिक तरीके

स्थिर BoostedTreesCalculateBestFeatureSplitV2
बनाने ( स्कोप गुंजाइश, ओपेरैंड <पूर्णांक> nodeIdRange, Iterable < ओपेरैंड <फ्लोट >> statsSummariesList, ओपेरैंड <string> splitTypes, ओपेरैंड <पूर्णांक> candidateFeatureIds, ओपेरैंड <फ्लोट> एल 1, ओपेरैंड <फ्लोट> l2, ओपेरैंड <फ्लोट> treeComplexity, संकार्य <फ्लोट> minNodeWeight, लांग logitsDimension)
एक नया BoostedTreesCalculateBestFeatureSplitV2 ऑपरेशन रैपिंग क्लास बनाने के लिए फ़ैक्टरी विधि।
आउटपुट <पूर्णांक>
featureDimensions ()
एक रैंक 1 टेंसर प्रत्येक सुविधा के लिए सबसे अच्छा फीचर आयाम दर्शाता है, यदि सुविधा बहु-आयाम है तो कुछ नोड्स के लिए विभाजित किया जा सकता है।
आउटपुट <पूर्णांक>
featureIds ()
रैंक 1 टेंसर प्रत्येक नोड के लिए सबसे अच्छी सुविधा आईडी दर्शाता है।
आउटपुट <फ्लोट>
लाभ ()
रैंक 1 टेंसर प्रत्येक सुविधा के लिए कुछ नोड्स के लिए विभाजित करने के लिए सर्वोत्तम लाभ दर्शाता है।
आउटपुट <फ्लोट>
leftNodeContribs ()
प्रत्येक सुविधा के लिए दी गई थ्रेशोल्ड द्वारा बाईं दिशा में पैरेंट नोड्स (आउटपुट नोड_आईड्स_लिस्ट में टेंसर तत्व द्वारा दिया गया) से ब्रांच करते समय बाएं नोड्स के योगदान को इंगित करने वाला रैंक 2 टेंसर।
आउटपुट <पूर्णांक>
nodeIds ()
एक रैंक 1 टेंसर प्रत्येक सुविधा के लिए संभावित विभाजन नोड आईडी का संकेत देता है।
आउटपुट <फ्लोट>
rightNodeContribs ()
एक रैंक 2 टेंसर, बाएं_नोड_कॉन्ट्रिब्स_लिस्ट के समान आकार/शर्तों के साथ, लेकिन मान सही नोड के लिए है।
आउटपुट <string>
splitWithDefaultDirections ()
रैंक 1 टेंसर यह दर्शाता है कि डेटा गुम होने पर किस दिशा में जाना है।
आउटपुट <पूर्णांक>
थ्रेसहोल्ड ()
एक रैंक 1 टेंसर प्रत्येक नोड में विभाजन के लिए (एक सीमा के रूप में) के साथ तुलना करने के लिए बकेट आईडी को दर्शाता है।

विरासत में मिली विधियां

सार्वजनिक तरीके

सार्वजनिक स्थिर BoostedTreesCalculateBestFeatureSplitV2 बनाने ( स्कोप गुंजाइश, ओपेरैंड <पूर्णांक> nodeIdRange, Iterable < ओपेरैंड <फ्लोट >> statsSummariesList, ओपेरैंड <string> splitTypes, ओपेरैंड <पूर्णांक> candidateFeatureIds, ओपेरैंड <फ्लोट> एल 1, ओपेरैंड <फ्लोट> l2, ओपेरैंड <फ्लोट > treeComplexity, ओपेरैंड <फ्लोट> minNodeWeight, लांग logitsDimension)

एक नया BoostedTreesCalculateBestFeatureSplitV2 ऑपरेशन रैपिंग क्लास बनाने के लिए फ़ैक्टरी विधि।

मापदंडों
दायरा वर्तमान दायरा
नोड आईडीरेंज `Stats_summary_list` के भीतर संसाधित करने के लिए नोड आईडी की श्रेणी [प्रथम, अंतिम) निर्दिष्ट करने के लिए एक रैंक 1 टेंसर (आकार = [2])। नोड्स को टेंसर द्वारा निर्दिष्ट दो नोड्स के बीच पुनरावृत्त किया जाता है, जैसे कि `नोड_आईडी इन रेंज (नोड_आईडी_रेंज [0], नोड_आईडी_रेंज [1])` (ध्यान दें कि अंतिम इंडेक्स नोड_आईडी_रेंज [1] अनन्य है)।
आँकड़े सारांशसूची प्रत्येक सुविधा के लिए प्रति नोड, प्रति आयाम, प्रति बकेट में संचित आँकड़े सारांश (ग्रेडिएंट/हेसियन) के लिए रैंक 4 टेंसर (#shape=[max_splits, feature_dims, बाल्टी, stats_dims]) की एक सूची। टेंसर का पहला आयाम विभाजन की अधिकतम संख्या है, और इस प्रकार इसके सभी तत्वों का उपयोग नहीं किया जाएगा, लेकिन केवल नोड_आईड्स द्वारा निर्दिष्ट इंडेक्स का उपयोग किया जाएगा।
विभाजन प्रकार एक रैंक 1 टेंसर यह दर्शाता है कि क्या इस ऑप को असमानता विभाजन या समानता विभाजन प्रति फीचर करना चाहिए।
उम्मीदवार फ़ीचर आईडी प्रत्येक सुविधा के लिए आईडी के साथ रैंक 1 टेंसर। यह फीचर की असली आईडी है।
एल1 l1 पत्ती भार पर नियमितीकरण कारक, प्रति उदाहरण आधारित।
एल2 l2 पत्ती भार पर नियमितीकरण कारक, प्रति उदाहरण आधारित।
वृक्ष जटिलता लाभ के लिए समायोजन, प्रति पत्ती आधारित।
minNodeWeight नोड को विभाजित करने के लिए विचार करने के लिए आवश्यक होने से पहले एक नोड में हेसियन का न्यूनतम औसत।
लॉगिट्सआयाम लॉगिट का आयाम, यानी वर्गों की संख्या।
रिटर्न
  • BoostedTreesCalculateBestFeatureSplitV2 का एक नया उदाहरण

सार्वजनिक आउटपुट <पूर्णांक> featureDimensions ()

एक रैंक 1 टेंसर प्रत्येक सुविधा के लिए सबसे अच्छा फीचर आयाम दर्शाता है, यदि सुविधा बहु-आयाम है तो कुछ नोड्स के लिए विभाजित किया जा सकता है। आकार और आकार जैसे विवरण के लिए ऊपर देखें।

सार्वजनिक आउटपुट <पूर्णांक> featureIds ()

रैंक 1 टेंसर प्रत्येक नोड के लिए सबसे अच्छी सुविधा आईडी दर्शाता है। आकार और आकार जैसे विवरण के लिए ऊपर देखें।

सार्वजनिक आउटपुट <फ्लोट> लाभ ()

रैंक 1 टेंसर प्रत्येक सुविधा के लिए कुछ नोड्स के लिए विभाजित करने के लिए सर्वोत्तम लाभ दर्शाता है। आकार और आकार जैसे विवरण के लिए ऊपर देखें।

सार्वजनिक आउटपुट <फ्लोट> leftNodeContribs ()

प्रत्येक सुविधा के लिए दी गई थ्रेशोल्ड द्वारा बाईं दिशा में पैरेंट नोड्स (आउटपुट नोड_आईड्स_लिस्ट में टेंसर तत्व द्वारा दिया गया) से ब्रांच करते समय बाएं नोड्स के योगदान को इंगित करने वाला रैंक 2 टेंसर। इस मान का उपयोग पैरेंट नोड मान में जोड़कर बायां नोड मान बनाने के लिए किया जाएगा। 1-आयामी लॉग के लिए दूसरा आयाम आकार 1 है, लेकिन बहु-वर्ग की समस्याओं के लिए बड़ा होगा। आकार और आकार जैसे विवरण के लिए ऊपर देखें।

सार्वजनिक आउटपुट <पूर्णांक> nodeIds ()

एक रैंक 1 टेंसर प्रत्येक सुविधा के लिए संभावित विभाजन नोड आईडी का संकेत देता है। सूची की लंबाई num_features है, लेकिन प्रत्येक टेंसर का आकार अलग होता है क्योंकि प्रत्येक सुविधा अलग-अलग संभावित नोड प्रदान करती है। आकार और आकार जैसे विवरण के लिए ऊपर देखें।

सार्वजनिक आउटपुट <फ्लोट> rightNodeContribs ()

एक रैंक 2 टेंसर, बाएं_नोड_कॉन्ट्रिब्स_लिस्ट के समान आकार/शर्तों के साथ, लेकिन मान सही नोड के लिए है।

सार्वजनिक आउटपुट <string> splitWithDefaultDirections ()

रैंक 1 टेंसर यह दर्शाता है कि डेटा गुम होने पर किस दिशा में जाना है। आकार और आकार जैसे विवरण के लिए ऊपर देखें। डिफॉल्ट लेफ्ट रिटर्न के साथ असमानता 0, डिफॉल्ट राइट रिटर्न के साथ असमानता 1, डिफॉल्ट राइट रिटर्न के साथ समानता 2.

सार्वजनिक आउटपुट <पूर्णांक> थ्रेसहोल्ड ()

एक रैंक 1 टेंसर प्रत्येक नोड में विभाजन के लिए (एक सीमा के रूप में) के साथ तुलना करने के लिए बकेट आईडी को दर्शाता है। आकार और आकार जैसे विवरण के लिए ऊपर देखें।