Categorical Features কীভাবে XGBoost হ্যান্ডেল করে

Missing Values এবং Categorical Features - এক্সজিবুস্ট (XGBoost) - Latest Technologies

328

XGBoost সাধারণত সংখ্যা বা সংখ্যাসূচক ফিচার নিয়ে কাজ করে, তাই ক্যাটেগরিকাল ফিচার (যেমন: দেশ, শহর, পণ্য শ্রেণী) সরাসরি ব্যবহার করার জন্য প্রস্তুত নয়। তবে XGBoost ক্যাটেগরিকাল ফিচার হ্যান্ডেল করার জন্য কয়েকটি পদ্ধতি এবং কৌশল ব্যবহার করে, যা নিচে আলোচনা করা হলো।

১. One-Hot Encoding

  • কীভাবে কাজ করে: ক্যাটেগরিকাল ফিচারের প্রতিটি ক্যাটেগরি বা স্তরের জন্য একটি নতুন বাইনারি (0 বা 1) কলাম তৈরি করা হয়।
  • উদাহরণ:
    • ফিচার: "Color" = ["Red", "Blue", "Green"]
    • One-Hot Encoding:
Color_Red   Color_Blue   Color_Green
1           0            0
0           1            0
0           0            1
  • কেন ব্যবহার করা হয়: এটি XGBoost এর মতো অ্যালগরিদমে ক্যাটেগরিকাল ফিচার ব্যবহার করার জন্য সহজ এবং কার্যকর পদ্ধতি, বিশেষ করে ছোট ডেটাসেটের ক্ষেত্রে।
  • সীমাবদ্ধতা: অনেক ক্যাটেগরি থাকলে এটি মেমোরি এবং প্রসেসিং পাওয়ারের উপর অতিরিক্ত চাপ সৃষ্টি করতে পারে (Sparse Matrix তৈরি হয়)।

২. Label Encoding

  • কীভাবে কাজ করে: প্রতিটি ক্যাটেগরিকে একটি সংখ্যা দিয়ে প্রতিস্থাপন করা হয়।
  • উদাহরণ:
    • ফিচার: "City" = ["Dhaka", "Chittagong", "Khulna"]
    • Label Encoding:
"Dhaka"       -> 0
"Chittagong"  -> 1
"Khulna"      -> 2
  • কেন ব্যবহার করা হয়: এটি সহজ এবং দ্রুত কার্যকর করা যায়, কারণ নতুন কলাম তৈরি করতে হয় না।
  • সীমাবদ্ধতা: এটি শুধুমাত্র সেই ক্ষেত্রে ভালো কাজ করে, যখন ক্যাটেগরিকাল ফিচারটির স্তরগুলোর মধ্যে কোন ক্রমানুসার থাকে না, কারণ XGBoost এই সংখ্যাগুলিকে ক্রমানুসারে গণ্য করতে পারে এবং তাতে ভুল ফলাফল আসতে পারে।

৩. Target Encoding / Mean Encoding

  • কীভাবে কাজ করে: প্রতিটি ক্যাটেগরি একটি নির্দিষ্ট টার্গেট ফিচারের গড় বা টার্গেটের উপর ভিত্তি করে একটি সংখ্যা দ্বারা প্রতিস্থাপিত হয়।
  • উদাহরণ:
    • ফিচার: "Product_Category" এবং টার্গেট ভ্যারিয়েবল "Sales"
    • যদি "Category_A" এর গড় বিক্রয় ১০০ হয়, "Category_B" এর ১৫০ হয়, তাহলে:
Category_A -> 100
Category_B -> 150
  • কেন ব্যবহার করা হয়: এটি ক্যাটেগরিকাল ফিচার এবং টার্গেট ভ্যারিয়েবলের মধ্যে সম্পর্ক ব্যবহার করে মডেলের কার্যকারিতা উন্নত করে।
  • সীমাবদ্ধতা: যদি ডেটাসেট ছোট হয় বা ক্যাটেগরি বেশি থাকে, তাহলে Overfitting হতে পারে।

৪. Frequency Encoding

  • কীভাবে কাজ করে: প্রতিটি ক্যাটেগরিকে তাদের ফ্রিকোয়েন্সি বা কতবার তারা ডেটাসেটে উপস্থিত আছে তার উপর ভিত্তি করে একটি সংখ্যা দ্বারা প্রতিস্থাপন করা হয়।
  • উদাহরণ:
    • ফিচার: "Category" = ["A", "A", "B", "C", "A", "B"]
    • Frequency Encoding:
A -> 3
B -> 2
C -> 1
  • কেন ব্যবহার করা হয়: এটি একটি সহজ পদ্ধতি এবং ক্যাটেগরিকাল ভ্যারিয়েবলগুলোর তুলনা এবং সংখ্যা নির্ধারণে কার্যকর।
  • সীমাবদ্ধতা: এটি তখনই কাজ করে যখন ক্যাটেগরি এবং টার্গেটের মধ্যে লজিক্যাল সম্পর্ক থাকে, না হলে এটি কার্যকর নাও হতে পারে।

৫. Ordinal Encoding (শুধুমাত্র ক্রমানুসারে ফিচারগুলির জন্য)

  • কীভাবে কাজ করে: ক্যাটেগরিকাল ফিচার যদি ক্রমানুসারে সাজানো থাকে (যেমন: "Low", "Medium", "High"), তাহলে প্রতিটি স্তরকে ক্রমানুসারে সংখ্যা দিয়ে রিপ্রেজেন্ট করা হয়।
  • উদাহরণ:
    • ফিচার: "Size" = ["Small", "Medium", "Large"]
    • Ordinal Encoding:
Small  -> 0
Medium -> 1
Large  -> 2
  • কেন ব্যবহার করা হয়: এটি বিশেষভাবে কার্যকর যখন ক্যাটেগরি ক্রমানুসার নির্ভর করে এবং এই ক্রমানুসারকে মডেল শিখতে পারে।
  • সীমাবদ্ধতা: যদি ক্যাটেগরিকাল ফিচারের মধ্যে ক্রমানুসার না থাকে, তাহলে এটি ভুল ফলাফল দিতে পারে।

৬. CatBoost Encoding

  • কীভাবে কাজ করে: CatBoost Encoding একটি উন্নত পদ্ধতি, যেখানে প্রতিটি ক্যাটেগরি এবং টার্গেটের ভিত্তিতে সম্ভাব্যতা হিসাব করা হয়। এটি ট্রেনিং এবং টেস্ট ডেটা বিভক্ত করে এবং প্রতিটি ক্যাটেগরি একাধিক স্তরের মাধ্যমে এনকোড করা হয়।
  • কেন ব্যবহার করা হয়: এটি Overfitting কমাতে সাহায্য করে এবং কার্যকারিতা বৃদ্ধি করে।

সারসংক্ষেপ

XGBoost এ ক্যাটেগরিকাল ফিচার হ্যান্ডেল করার জন্য প্রচলিত পদ্ধতিগুলি হলো:

  • One-Hot Encoding: ছোট ক্যাটেগরিকাল ফিচারের জন্য ভালো।
  • Label Encoding: সহজ কিন্তু সতর্কতার সাথে ব্যবহার করা উচিত।
  • Target Encoding: টার্গেট ভ্যারিয়েবলের সাথে সম্পর্ক থাকলে কার্যকর।
  • Frequency এবং Ordinal Encoding: সহজ ও কার্যকর তবে নির্ভর করে ডেটার ধরণের উপর।
  • CatBoost Encoding: উন্নত এবং Overfitting কমানোর ক্ষমতা রয়েছে।

XGBoost মডেল তৈরি করার সময় আপনার ডেটাসেট এবং ক্যাটেগরিকাল ফিচারগুলোর বৈশিষ্ট্য অনুযায়ী উপযুক্ত পদ্ধতি নির্বাচন করা গুরুত্বপূর্ণ।

Promotion

Are you sure to start over?

Loading...