حساب المكاسب لكل ميزة وإرجاع أفضل معلومات تقسيم ممكنة للميزة.
المعلومات المقسمة هي أفضل عتبة (معرف المجموعة) والمكاسب ومساهمات العقدة اليسرى/اليمنى لكل عقدة لكل ميزة.
من الممكن أنه لا يمكن تقسيم جميع العقد على كل ميزة. وبالتالي، يمكن أن تختلف قائمة العقد المحتملة بين الميزات. لذلك، نعيد "node_ids_list" لكل ميزة، والتي تحتوي على قائمة العقد التي يمكن استخدام هذه الميزة لتقسيمها.
بهذه الطريقة، يكون الإخراج هو أفضل تقسيم لكل ميزة ولكل عقدة، بحيث يجب دمجها لاحقًا لإنتاج أفضل تقسيم لكل عقدة (من بين جميع الميزات الممكنة).
طول قوائم المخرجات كلها بنفس الطول، `num_features`. تتوافق أشكال المخرجات بطريقة تجعل البعد الأول لجميع الموترات في جميع القوائم متماثلًا ويساوي عدد العقد المنقسمة المحتملة لكل ميزة.
الثوابت
خيط | OP_NAME | اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي |
الأساليب العامة
static BoostedTreesCalculateBestGainsPerFeature | إنشاء (نطاق النطاق ، المعامل < TInt32 > العقدة IdRange، Iterable < المعامل < TFloat32 >> statsSummaryList، المعامل < TFloat32 > l1، المعامل < TFloat32 > l2، المعامل < TFloat32 > TreeComplexity، المعامل < TFloat32 > minNodeWeight، Long maxSplits) طريقة المصنع لإنشاء فئة تلتف حول عملية BoostedTreesCalculateBestGainsPerFeature جديدة. |
القائمة< الإخراج < TFloat32 >> | قائمة المكاسب () قائمة مخرجات لموترات الرتبة 1 تشير إلى أفضل المكاسب لكل ميزة لتقسيمها إلى عقد معينة. |
القائمة< الإخراج < TFloat32 >> | leftNodeContribsList () قائمة موترات الرتبة 2 تشير إلى مساهمة العقد اليسرى عند التفرع من العقد الأصلية (المقدمة بواسطة عنصر الموتر في قائمة الإخراج العقدة_ids_list) إلى الاتجاه الأيسر بواسطة العتبة المحددة لكل ميزة. |
القائمة< الإخراج < TInt32 >> | قائمة معرفات العقدة () قائمة مخرجات لموترات الرتبة 1 تشير إلى معرفات العقدة المقسمة المحتملة لكل ميزة. |
القائمة< الإخراج < TFloat32 >> | RightNodeContribsList () قائمة بالموترات من الرتبة 2، بنفس الشكل/الشروط مثل left_node_contribs_list، ولكن القيمة فقط للعقدة اليمنى. |
القائمة< الإخراج < TInt32 >> | قائمة العتبات () قائمة مخرجات لموترات الرتبة 1 تشير إلى معرف المجموعة المراد مقارنتها (كعتبة) للتقسيم في كل عقدة. |
الطرق الموروثة
الثوابت
السلسلة النهائية الثابتة العامة OP_NAME
اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي
الأساليب العامة
إنشاء BoostedTreesCalculateBestGainsPerFeature ثابت عام (نطاق النطاق ، المعامل < TInt32 > عقدة IdRange، Iterable < المعامل < TFloat32 >> statsSummaryList، المعامل < TFloat32 > l1، المعامل < TFloat32 > l2، المعامل < TFloat32 > تعقيد الشجرة، المعامل < TFloat32 > minNodeWeight، طويل ماكس سبليتس)
طريقة المصنع لإنشاء فئة تلتف حول عملية BoostedTreesCalculateBestGainsPerFeature جديدة.
حدود
نِطَاق | النطاق الحالي |
---|---|
NodeIdRange | موتر من المرتبة الأولى (الشكل=[2]) لتحديد النطاق [الأول والأخير) لمعرفات العقدة المراد معالجتها ضمن "stats_summary_list". يتم تكرار العقد بين العقدتين المحددتين بواسطة الموتر، كما هو الحال `fornode_id in range(node_id_range[0],node_id_range[1])` (لاحظ أن الفهرس الأخيرNode_id_range[1] حصري). |
statsSummaryList | قائمة الموتر من المرتبة 3 (#shape=[max_splits, Bucket, 2]) لملخص الإحصائيات المتراكمة (التدرج/الهيسي) لكل عقدة لكل مجموعة لكل ميزة. البعد الأول للموتر هو الحد الأقصى لعدد الانقسامات، وبالتالي لن يتم استخدام جميع عناصره، ولكن سيتم استخدام الفهارس المحددة بواسطةNode_ids فقط. |
l1 | عامل التنظيم l1 على أوزان الأوراق، على أساس كل مثيل. |
l2 | عامل التنظيم l2 على أوزان الأوراق، على أساس كل مثيل. |
TreeComplexity | تعديل الكسب، على أساس كل ورقة. |
minNodeWeight | الحد الأدنى لمتوسط عدد الهسه في العقدة قبل أن يكون مطلوبًا حتى يتم أخذ العقدة بعين الاعتبار للتقسيم. |
maxSplits | عدد العقد التي يمكن تقسيمها في الشجرة بأكملها. تستخدم كبعد لموترات الإخراج. |
عائدات
- مثيل جديد لـ BoostedTreesCalculateBestGainsPerFeature
القائمة العامة < الإخراج < TFloat32 >> قائمة المكاسب ()
قائمة مخرجات لموترات الرتبة 1 تشير إلى أفضل المكاسب لكل ميزة لتقسيمها إلى عقد معينة. انظر أعلاه للحصول على تفاصيل مثل الأشكال والأحجام.
القائمة العامة < الإخراج < TFloat32 >> leftNodeContribsList ()
قائمة موترات الرتبة 2 تشير إلى مساهمة العقد اليسرى عند التفرع من العقد الأصلية (المقدمة بواسطة عنصر الموتر في قائمة الإخراج العقدة_ids_list) إلى الاتجاه الأيسر بواسطة العتبة المحددة لكل ميزة. سيتم استخدام هذه القيمة لإنشاء قيمة العقدة اليسرى عن طريق إضافتها إلى قيمة العقدة الأصلية. حجم البعد الثاني هو 1 للسجلات أحادية البعد، ولكنه سيكون أكبر للمشكلات متعددة الفئات. انظر أعلاه للحصول على تفاصيل مثل الأشكال والأحجام.
القائمة العامة< الإخراج < TInt32 >> nodeIdsList ()
قائمة مخرجات لموترات الرتبة 1 تشير إلى معرفات العقدة المقسمة المحتملة لكل ميزة. طول القائمة هو num_features، لكن كل موتر له حجم مختلف حيث توفر كل ميزة عقدًا محتملة مختلفة. انظر أعلاه للحصول على تفاصيل مثل الأشكال والأحجام.
القائمة العامة< الإخراج < TFloat32 >> rightNodeContribsList ()
قائمة بالموترات من الرتبة 2، بنفس الشكل/الشروط مثل left_node_contribs_list، ولكن القيمة فقط للعقدة اليمنى.