এক্সজিবিস্টের গুরুত্বের আউটপুটটি কীভাবে ব্যাখ্যা করবেন?


37

আমি এক্সজিবিস্ট মডেল চালিয়েছিলাম। কিভাবে আউটপুট ব্যাখ্যা করতে হয় আমি ঠিক জানি না xgb.importance

লাভ, কভার এবং ফ্রিকোয়েন্সিটির অর্থ কী এবং আমরা কীভাবে তাদের ব্যাখ্যা করব?

এছাড়াও, স্প্লিট, রিয়েলকভার এবং রিয়েলকভার% এর অর্থ কী? আমার এখানে কিছু অতিরিক্ত পরামিতি রয়েছে

অন্য কোনও প্যারামিটার রয়েছে যা আমাকে বৈশিষ্ট্য আমদানি সম্পর্কে আরও বলতে পারে?

আর ডকুমেন্টেশন থেকে আমার কিছুটা বোঝা গেছে যে লাভ হ'ল তথ্য লাভের অনুরূপ এবং সমস্ত গাছ জুড়ে কোনও বৈশিষ্ট্য ব্যবহৃত হয় তার ফ্রিকোয়েন্সি। কভার কী তা আমার কোনও ধারণা নেই।

আমি লিঙ্কটিতে প্রদত্ত উদাহরণ কোডটি চালিয়েছি (এবং আমি যে সমস্যাটি নিয়ে কাজ করছি তার উপরও একই চেষ্টা করেছি), তবে সেখানে দেওয়া বিভক্ত সংজ্ঞাটি আমার গণনা করা সংখ্যার সাথে মেলে না।

importance_matrix

আউটপুট:

           Feature         Gain        Cover    Frequence
  1:            xxx 2.276101e-01 0.0618490331 1.913283e-02
  2:           xxxx 2.047495e-01 0.1337406946 1.373710e-01
  3:           xxxx 1.239551e-01 0.1032614896 1.319798e-01
  4:           xxxx 6.269780e-02 0.0431682707 1.098646e-01
  5:          xxxxx 6.004842e-02 0.0305611830 1.709108e-02

214:     xxxxxxxxxx 4.599139e-06 0.0001551098 1.147052e-05
215:     xxxxxxxxxx 4.500927e-06 0.0001665320 1.147052e-05
216:   xxxxxxxxxxxx 3.899363e-06 0.0001536857 1.147052e-05
217: xxxxxxxxxxxxxx 3.619348e-06 0.0001808504 1.147052e-05
218:  xxxxxxxxxxxxx 3.429679e-06 0.0001792233 1.147052e-05

উত্তর:


40

আপনার প্রশ্ন থেকে, আমি ধরে নিচ্ছি যে আপনি বাইনারি শ্রেণিবদ্ধকরণের জন্য উত্সাহিত গাছগুলি ফিট করতে xgboost ব্যবহার করছেন। গুরুত্ব ম্যাট্রিক্স আসলে একটি বর্ধিত গাছগুলিতে ব্যবহৃত সমস্ত বৈশিষ্ট্যের নাম তালিকাভুক্ত প্রথম কলামের সাথে একটি ডেটা.ট্যাবল অবজেক্ট।

গুরুত্ব সহকারে ডেটা টেবিলটির অর্থ:

  1. লাভ মডেল মডেল প্রতিটি গাছ জন্য প্রতিটি বৈশিষ্ট্যের অবদান গ্রহণ করে গণনা করা সংশ্লিষ্ট বৈশিষ্ট্যের আপেক্ষিক অবদান বোঝা। অন্য বৈশিষ্ট্যের তুলনায় এই মেট্রিকের একটি উচ্চতর মান বোঝায় যে ভবিষ্যদ্বাণী উত্পন্ন করার জন্য এটি আরও গুরুত্বপূর্ণ।
  2. কভার মেট্রিক উপায়ে এই বৈশিষ্ট্যটি এর সাথে সম্পর্কিত পর্যবেক্ষণ আপেক্ষিক সংখ্যা। উদাহরণস্বরূপ, আপনার যদি 100 টি পর্যবেক্ষণ, 4 টি বৈশিষ্ট্য এবং 3 টি গাছ রয়েছে এবং ধরুন বৈশিষ্ট্য 1 যথাক্রমে 10, 5, এবং গাছ 1, ট্রি 2 এবং ট্রি 3 তে 2 পর্যবেক্ষণের জন্য পাতার নোড নির্ধারণ করার জন্য ব্যবহৃত হয়; তারপরে মেট্রিক 10 + 5 + 2 = 17 টি পর্যবেক্ষণ হিসাবে এই বৈশিষ্ট্যটির জন্য কভার গণনা করবে। এটি সমস্ত 4 টি বৈশিষ্ট্যের জন্য গণনা করা হবে এবং কভারটি সমস্ত বৈশিষ্ট্যের কভার মেট্রিক্সের শতাংশ হিসাবে 17 হিসাবে প্রকাশিত হবে।
  3. ফ্রিকোয়েন্সি (/ 'Frequence') শতাংশ সময়ের আপেক্ষিক একটি বিশেষ বৈশিষ্ট্য মডেলের গাছ ঘটে প্রতিনিধিত্বমূলক হয়। উপরের উদাহরণে, যদি বৈশিষ্ট্য 1 টি 2 বিভাজনে ঘটে, 1 টি বিভক্ত হয় এবং গাছ 1, ট্রি 2 এবং ট্রি 3 এর প্রতিটিটিতে 3 টি বিভক্ত হয়; তারপরে বৈশিষ্ট্য 1 এর ওজন 2 + 1 + 3 = 6. হবে বৈশিষ্ট্য 1-এর ফ্রিকোয়েন্সি সমস্ত বৈশিষ্ট্যের ওজনের চেয়ে তার শতাংশের ওজন হিসাবে গণনা করা হয়।

প্রতিটি বৈশিষ্ট্যের আপেক্ষিক গুরুত্ব ব্যাখ্যা করতে গেইন সবচেয়ে প্রাসঙ্গিক বৈশিষ্ট্য।

পদক্ষেপগুলি সমস্ত আপেক্ষিক এবং অতএব সমস্ত মিলিয়ে একটি, আর এর মধ্যে লাগানো এক্সজি বুস্ট মডেলের উদাহরণ:

> sum(importance$Frequence)
[1] 1
> sum(importance$Cover)
[1] 1
> sum(importance$Gain)
[1] 1

1
কভারটি কেবল পাতার নোডের ভিত্তিতে বা সমস্ত বিভক্তির ভিত্তিতে গণনা করা হয়?
fanfabbb

3

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

Xgbst লাইব্রেরি দ্বারা সরবরাহ করা ডেটা সহ একটি সাধারণ উদাহরণটি যাক।

library('xgboost')

data(agaricus.train, package='xgboost')
data(agaricus.test, package='xgboost')

train <- agaricus.train
test <- agaricus.test

X = train$data

y = train$label

bst <- xgboost(data = X, label = y, max.depth = 2,
           eta = 1, nthread = 2, nround = 2,objective = "binary:logistic",
           reg_lambda = 0, reg_alpha = 0)

xgb.model.dt.tree(agaricus.train$data@Dimnames[[2]], model = bst)

xgb.importance(agaricus.train$data@Dimnames[[2]], bst)

আউটপুট -

গাছের ডাম্প

গুরুত্ব ম্যাট্রিক্স

আসুন গাছের ডাম্প থেকে গন্ধের আচ্ছাদন = গুরুত্ব ম্যাট্রিক্স (0.495768965) এর মধ্যে কোনওটি গণনা করার চেষ্টা করি।

প্রতিটি বিভাজনের কভার যেখানে গন্ধ = কিছুই ব্যবহৃত হয় না তা নোড আইডি 0-0- এ নোড আইডি 1-1-এ 1628.2500 এবং নোড আইডিতে 765.9390 হয়।

সমস্ত বিভাজনের মোট কভার (গাছের ডাম্পের কভার কলাম জুড়ে যোগফল) = 1628.2500 * 2 + 786.3720 * 2

গন্ধের কভার = গুরুত্ব ম্যাট্রিক্স = (1628.2500 + 765.9390) / (1628.2500 * 2 + 786.3720 * 2)

সুতরাং আমরা নিশ্চিত যে কভারটি সমস্ত বিভাজনে গণনা করা হয়!

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