BoostedTreesCalculateBestGainsPerFeature

পাবলিক ফাইনাল ক্লাস বুস্টেড ট্রিস ক্যালকুলেট বেস্ট গেইনসপারফিচার

প্রতিটি বৈশিষ্ট্যের জন্য লাভ গণনা করে এবং বৈশিষ্ট্যটির জন্য সম্ভাব্য সর্বোত্তম বিভক্ত তথ্য প্রদান করে।

বিভক্ত তথ্য হল সেরা থ্রেশহোল্ড (বালতি আইডি), লাভ এবং প্রতিটি বৈশিষ্ট্যের জন্য নোড প্রতি বাম/ডান নোড অবদান।

এটা সম্ভব যে সমস্ত নোড প্রতিটি বৈশিষ্ট্যে বিভক্ত করা যাবে না। সুতরাং, সম্ভাব্য নোডগুলির তালিকা বৈশিষ্ট্যগুলির মধ্যে পৃথক হতে পারে। অতএব, আমরা প্রতিটি বৈশিষ্ট্যের জন্য `node_ids_list` ফেরত দিই, যেখানে এই বৈশিষ্ট্যটি বিভক্ত করতে ব্যবহার করা যেতে পারে এমন নোডের তালিকা রয়েছে।

এই পদ্ধতিতে, আউটপুট হল প্রতি বৈশিষ্ট্য এবং প্রতি নোডের জন্য সর্বোত্তম বিভাজন, যাতে প্রতিটি নোডের জন্য (সকল সম্ভাব্য বৈশিষ্ট্যগুলির মধ্যে) সর্বোত্তম বিভাজন তৈরি করার জন্য এটি পরবর্তীতে একত্রিত করা প্রয়োজন।

আউটপুট তালিকার দৈর্ঘ্য একই দৈর্ঘ্যের, `সংখ্যা_বিশিষ্ট`। আউটপুট আকারগুলি এমনভাবে সামঞ্জস্যপূর্ণ যে সমস্ত তালিকার সমস্ত টেনসরের প্রথম মাত্রা একই এবং প্রতিটি বৈশিষ্ট্যের জন্য সম্ভাব্য বিভক্ত নোডের সংখ্যার সমান।

পাবলিক পদ্ধতি

স্ট্যাটিক বুস্টেড ট্রিস ক্যালকুলেট বেস্ট গেইনসপারফিচার
তৈরি করুন ( স্কোপ স্কোপ, Operand <Integer> nodeIdRange, Iterable< Operand <Float>> statsSummaryList, Operand <Float> l1, Operand <float> l2, Operand <ফ্লোট> ট্রি কমপ্লেক্সিটি, অপারেন্ড <ফ্লোট> ন্যূনতম, লম্বা
একটি নতুন BoostedTreesCalculateBestGainsPerFeature অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
তালিকা< আউটপুট <ফ্লোট>>
লাভের তালিকা ()
র‍্যাঙ্ক 1 টেনসরের একটি আউটপুট তালিকা নির্দিষ্ট নোডের জন্য বিভক্ত করার জন্য প্রতিটি বৈশিষ্ট্যের জন্য সেরা লাভ নির্দেশ করে।
তালিকা< আউটপুট <ফ্লোট>>
leftNodeContribsList ()
প্রতিটি বৈশিষ্ট্যের জন্য প্রদত্ত থ্রেশহোল্ড দ্বারা বাম দিকের প্যারেন্ট নোড (আউটপুট নোড_আইডি_লিস্টে টেনসর উপাদান দ্বারা প্রদত্ত) থেকে ব্রাঞ্চ করার সময় বাম নোডগুলির অবদান নির্দেশ করে র্যাঙ্ক 2 টেনসরের একটি তালিকা।
তালিকা< আউটপুট <পূর্ণসংখ্যা>>
nodeIdsList ()
র‍্যাঙ্ক 1 টেনসরের একটি আউটপুট তালিকা প্রতিটি বৈশিষ্ট্যের জন্য সম্ভাব্য বিভক্ত নোড আইডি নির্দেশ করে।
তালিকা< আউটপুট <ফ্লোট>>
rightNodeContribsList ()
লেফট_নোড_কন্ট্রিবস_লিস্টের মতো একই আকৃতি/পরিস্থিতি সহ, র‍্যাঙ্ক 2 টেনসরের একটি তালিকা, কিন্তু মানটি ডান নোডের জন্য।
তালিকা< আউটপুট <পূর্ণসংখ্যা>>
থ্রেশহোল্ড তালিকা ()
র‍্যাঙ্ক 1 টেনসরের একটি আউটপুট তালিকা যা প্রতিটি নোডে বিভক্ত হওয়ার জন্য (একটি থ্রেশহোল্ড হিসাবে) তুলনা করতে বাকেট আইডি নির্দেশ করে।

উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি

পাবলিক পদ্ধতি

সর্বজনীন স্ট্যাটিক BoostedTreesCalculateBestGainsPerFeature তৈরি করুন ( স্কোপ স্কোপ, Operand <Integer> nodeIdRange, Iterable< Operand <Float>> statsSummaryList, Operand <Float> l1, Operand <Float> l2, Omproat > এবং <Float> এবং <Float> ওজন, লম্বা সর্বোচ্চ স্প্লিট)

একটি নতুন BoostedTreesCalculateBestGainsPerFeature অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।

পরামিতি
সুযোগ বর্তমান সুযোগ
nodeIdRange একটি র‍্যাঙ্ক 1 টেনসর (আকৃতি=[2]) নোড আইডিগুলির পরিসর [প্রথম, শেষ) নির্দিষ্ট করতে `stats_summary_list`-এর মধ্যে প্রক্রিয়াকরণ করতে। নোডগুলি টেনসর দ্বারা নির্দিষ্ট করা দুটি নোডের মধ্যে পুনরাবৃত্তি করা হয়, যেমন `পরিসরে নোড_আইডির জন্য(নোড_আইডি_রেঞ্জ[0], নোড_আইডি_রেঞ্জ[1])` (উল্লেখ্য যে শেষ সূচক নোড_আইডি_রেঞ্জ[1] একচেটিয়া)।
পরিসংখ্যান সংক্ষিপ্ত তালিকা প্রতিটি বৈশিষ্ট্যের জন্য প্রতি বালতি প্রতি নোডে জমা হওয়া পরিসংখ্যান সারাংশের (গ্রেডিয়েন্ট/হেসিয়ান) জন্য র‌্যাঙ্ক 3 টেনসরের একটি তালিকা (#shape=[max_splits, bucket, 2])। টেনসরের প্রথম মাত্রা হল সর্বোচ্চ সংখ্যক বিভাজন, এবং এইভাবে এর সমস্ত উপাদান ব্যবহার করা হবে না, তবে শুধুমাত্র node_ids দ্বারা নির্দিষ্ট করা সূচী ব্যবহার করা হবে।
l1 l1 পাতার ওজনের উপর নিয়মিতকরণ ফ্যাক্টর, প্রতি উদাহরণ ভিত্তিক।
l2 l2 পাতার ওজনের উপর নিয়মিতকরণ ফ্যাক্টর, প্রতি উদাহরণ ভিত্তিক।
গাছের জটিলতা লাভের সামঞ্জস্য, প্রতি পাতা ভিত্তিক।
minNodeWeight নোডকে বিভক্ত করার জন্য বিবেচনা করার আগে একটি নোডে হেসিয়ানের ন্যূনতম গড়।
maxSplits পুরো গাছে বিভক্ত করা যেতে পারে এমন নোডের সংখ্যা। আউটপুট টেনসরের মাত্রা হিসাবে ব্যবহৃত হয়।
রিটার্নস
  • BoostedTreesCalculateBestGainsPerFeature-এর একটি নতুন উদাহরণ

সর্বজনীন তালিকা< আউটপুট <ফ্লোট>> লাভলিস্ট ()

র‍্যাঙ্ক 1 টেনসরের একটি আউটপুট তালিকা নির্দিষ্ট নোডের জন্য বিভক্ত করার জন্য প্রতিটি বৈশিষ্ট্যের জন্য সেরা লাভ নির্দেশ করে। আকার এবং আকারের মতো বিশদ বিবরণের জন্য উপরে দেখুন।

সর্বজনীন তালিকা< আউটপুট <ফ্লোট>> leftNodeContribsList ()

প্রতিটি বৈশিষ্ট্যের জন্য প্রদত্ত থ্রেশহোল্ড দ্বারা বাম দিকের প্যারেন্ট নোড (আউটপুট নোড_আইডি_লিস্টে টেনসর উপাদান দ্বারা প্রদত্ত) থেকে ব্রাঞ্চ করার সময় বাম নোডগুলির অবদান নির্দেশ করে র্যাঙ্ক 2 টেনসরের একটি তালিকা। এই মানটি প্যারেন্ট নোডের মান যোগ করে বাম নোডের মান তৈরি করতে ব্যবহার করা হবে। দ্বিতীয় মাত্রার আকার 1-মাত্রিক লগিটের জন্য 1, কিন্তু বহু-শ্রেণীর সমস্যার জন্য বড় হবে। আকার এবং আকারের মতো বিশদ বিবরণের জন্য উপরে দেখুন।

সর্বজনীন তালিকা< আউটপুট <পূর্ণসংখ্যা>> nodeIdsList ()

র‍্যাঙ্ক 1 টেনসরের একটি আউটপুট তালিকা প্রতিটি বৈশিষ্ট্যের জন্য সম্ভাব্য বিভক্ত নোড আইডি নির্দেশ করে। তালিকার দৈর্ঘ্য হল num_features, কিন্তু প্রতিটি টেনসরের আকার আলাদা কারণ প্রতিটি বৈশিষ্ট্য বিভিন্ন সম্ভাব্য নোড প্রদান করে। আকার এবং আকারের মতো বিশদ বিবরণের জন্য উপরে দেখুন।

সর্বজনীন তালিকা< আউটপুট <ফ্লোট>> rightNodeContribsList ()

লেফট_নোড_কন্ট্রিবস_লিস্টের মতো একই আকৃতি/পরিস্থিতি সহ, র‍্যাঙ্ক 2 টেনসরের একটি তালিকা, কিন্তু মানটি ডান নোডের জন্য।

সর্বজনীন তালিকা< আউটপুট <পূর্ণসংখ্যা>> থ্রেশহোল্ড তালিকা ()

র‍্যাঙ্ক 1 টেনসরের একটি আউটপুট তালিকা যা প্রতিটি নোডে বিভক্ত হওয়ার জন্য (একটি থ্রেশহোল্ড হিসাবে) তুলনা করতে বাকেট আইডি নির্দেশ করে। আকার এবং আকারের মতো বিশদ বিবরণের জন্য উপরে দেখুন।