এক্সজি বুস্টে জুটিওয়ালা র‌্যাঙ্কিং মডেলগুলি কীভাবে ফিট?


14

আমি যতদূর জানি, মডেলগুলি র‌্যাঙ্কে শেখার প্রশিক্ষণ নিতে আপনার ডেটাসেটে তিনটি জিনিস থাকা দরকার:

  • লেবেল বা প্রাসঙ্গিকতা
  • গোষ্ঠী বা কোয়েরি আইডি
  • বৈশিষ্ট্য ভেক্টর

উদাহরণস্বরূপ, মাইক্রোসফ্ট লার্নিং টু র্যাঙ্ক ডেটাसेट এই ফর্ম্যাটটি ব্যবহার করে (লেবেল, গ্রুপ আইডি এবং বৈশিষ্ট্য))

1 qid:10 1:0.031310 2:0.666667 ...
0 qid:10 1:0.078682 2:0.166667 ...

আমি এক্সজিস্টেস্ট চেষ্টা করছি যা জিবিএমগুলি জোড়ায় র‌্যাঙ্কিং করতে ব্যবহার করে। উপরের মতো মাইক্রোসফ্ট ডেটাসেটে শিখতে সি ++ প্রোগ্রাম ব্যবহার করে এমন একটি র‌্যাঙ্কিং কাজের জন্য তাদের উদাহরণ রয়েছে

তবে আমি তাদের পাইথন র‍্যাপারটি ব্যবহার করছি এবং আমি গ্রুপ আইডি ( qidউপরে) কোথায় ইনপুট করতে পারি তা খুঁজে পাচ্ছি না । আমি কেবল বৈশিষ্ট্য এবং প্রাসঙ্গিকতার স্কোরগুলি ব্যবহার করে মডেলটিকে প্রশিক্ষণ দিতে পারি তবে আমার মনে হচ্ছে আমি কিছু অনুপস্থিত।

এখানে একটি নমুনা স্ক্রিপ্ট।

gbm = XGBRegressor(objective="rank:pairwise")

X =  np.random.normal(0, 1, 1000).reshape(100, 10)
y = np.random.randint(0, 5, 100)

gbm.fit(X, y) ### --- no group id needed???

print gbm.predict(X)

# should be in reverse order of relevance score
print y[gbm.predict_proba(X)[:, 1].argsort()][::-1]

আমিও এই সমস্যাটি জুড়ে এসেছি, তবে আমার কী ধরণের সেট_গ্রুপটি ফাংশনে যেতে হবে? আমি যখন কোনও নম্পি বা তালিকা তৈরি করি তখন আমি এ জাতীয় ত্রুটি পেয়ে থাকি: d: \ build \ xgboost \ xgboost-git \ dMLc-core \ অন্তর্ভুক্ত \ dMLc \ ./ লগিং এইচ: 235: [12:03:09] ডি: \ বিল্ড \ xgboost \ xgboost-git \ src \ c_api \ c_api.cc: 342: চেক ব্যর্থ হয়েছে: (src.info.group_ptr.size ()) == (0) স্লাইস গ্রুপ কাঠামো সমর্থন করে না @amyrit
user2404620

উত্তর:


9

এক্সজিবিস্টের ডকুমেন্টেশন অনুসারে এক্সজি বুস্ট আশা করে:

  • একই গ্রুপের উদাহরণ ক্রমাগত উদাহরণ হতে পারে,
  • প্রতিটি গ্রুপের আকারের একটি তালিকা (যা আপনি পাইথনের set_groupপদ্ধতিতে সেট করতে পারেন DMatrix)।

1
ধন্যবাদ, মডেল বিল্ডিংয়ের জন্য API এর মতো দেখতে ( sklearn.py) পাইথন প্যাকেজটির জন্য কিছুটা অসম্পূর্ণ।
tokestermw

4

set_groupর‌্যাঙ্কিংয়ের পক্ষে অত্যন্ত গুরুত্বপূর্ণ, কারণ একটি গ্রুপে কেবলমাত্র স্কোরই তুলনীয়। আপনি তাদের নিজস্ব গোষ্ঠীতে তাদের স্কোর অনুযায়ী ডেটা বাছাই করতে পারেন।

সহজ র‌্যাঙ্কিংয়ের জন্য, আপনি আমার এক্সজিবিস্ট এক্সটেনশন ব্যবহার করতে পারেন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.