আমার খুব ভারসাম্যহীন ডেটাসেট রয়েছে। আমি টিউনিংয়ের পরামর্শ অনুসরণ এবং ব্যবহার করার চেষ্টা করছি scale_pos_weight
তবে কীভাবে এটি টিউন করব তা নিশ্চিত নই।
আমি দেখতে পাচ্ছি RegLossObj.GetGradient
:
if (info.labels[i] == 1.0f) w *= param_.scale_pos_weight
সুতরাং একটি ধনাত্মক নমুনার গ্রেডিয়েন্ট আরও প্রভাবশালী হবে। তবে, xgboost কাগজ অনুসারে , গ্রেডিয়েন্ট পরিসংখ্যান সর্বদা স্থানীয়ভাবে ব্যবহৃত হয় = নির্দিষ্ট গাছের নির্দিষ্ট নোডের মধ্যে:
- কোনও নোডের প্রসঙ্গে, প্রার্থী বিভক্ত হওয়ার ক্ষয় হ্রাস মূল্যায়ন করতে
- কোনও পাতার নোডের প্রসঙ্গে, সেই নোডকে দেওয়া ওজনকে অনুকূল করতে
সুতরাং আগে কীভাবে ভাল হবে তা জানার উপায় নেই scale_pos_weight
- এটি কোনও নোডের জন্য খুব আলাদা একটি সংখ্যা যা ইতিবাচক এবং নেতিবাচক উদাহরণগুলির মধ্যে 1: 100 অনুপাত এবং 1: 2 অনুপাত সহ একটি নোডের সাথে শেষ হয়।
কোন ইঙ্গিত?