আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো - KDnuggets

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো - KDnuggets

উত্স নোড: 2893531

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
[লেখকের ছবি]

 

"বৈশিষ্ট্যের গুরুত্ব" ধারণাটি মেশিন লার্নিং-এ সবচেয়ে মৌলিক ধরনের মডেল ব্যাখ্যাযোগ্যতা হিসেবে ব্যাপকভাবে ব্যবহৃত হয়। উদাহরণস্বরূপ, এটি পুনরাবৃত্তিমূলকভাবে মডেলের সর্বনিম্ন গুরুত্বপূর্ণ বৈশিষ্ট্যটি বাদ দিতে রিকার্সিভ ফিচার এলিমিনেশন (RFE) এ ব্যবহৃত হয়।

যাইহোক, এটি সম্পর্কে একটি ভুল ধারণা আছে।

যে একটি বৈশিষ্ট্য গুরুত্বপূর্ণ তা বোঝায় না যে এটি মডেলের জন্য উপকারী!

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

একটি সাধারণ উদাহরণ নিন: একজন ডেটা বিজ্ঞানী ঘটনাক্রমে তার মডেলের বৈশিষ্ট্যগুলির মধ্যে গ্রাহক আইডি ভুলে যান৷ মডেলটি একটি উচ্চ ভবিষ্যদ্বাণীমূলক বৈশিষ্ট্য হিসাবে গ্রাহক আইডি ব্যবহার করে। ফলস্বরূপ, এই বৈশিষ্ট্যটির একটি উচ্চ বৈশিষ্ট্যের গুরুত্ব থাকবে যদিও এটি আসলে মডেলটিকে খারাপ করছে, কারণ এটি অদেখা ডেটাতে ভালভাবে কাজ করতে পারে না।

জিনিসগুলি পরিষ্কার করার জন্য, আমাদের দুটি ধারণার মধ্যে পার্থক্য করতে হবে:

  • ভবিষ্যদ্বাণী অবদান: বৈশিষ্ট্যের কারণে ভবিষ্যদ্বাণীর কি অংশ; এটি বৈশিষ্ট্য গুরুত্বের সমতুল্য।
  • ত্রুটি অবদান: মডেলে বৈশিষ্ট্যের উপস্থিতির কারণে ভবিষ্যদ্বাণী ত্রুটির কোন অংশ।

এই প্রবন্ধে, আমরা দেখব কীভাবে এই পরিমাণগুলি গণনা করা যায় এবং একটি ভবিষ্যদ্বাণীমূলক মডেল সম্পর্কে মূল্যবান অন্তর্দৃষ্টি পেতে (এবং এটিকে উন্নত করতে) কীভাবে ব্যবহার করা যায়।

দ্রষ্টব্য: এই নিবন্ধটি রিগ্রেশন কেস উপর দৃষ্টি নিবদ্ধ করা হয়েছে. আপনি যদি শ্রেণীবিভাগের ক্ষেত্রে আরও আগ্রহী হন তবে আপনি পড়তে পারেন "আপনার শ্রেণীবিভাগ মডেলের জন্য কোন বৈশিষ্ট্যগুলি ক্ষতিকর?"

ধরুন আমরা তাদের চাকরি, বয়স এবং জাতীয়তার উপর ভিত্তি করে মানুষের আয়ের পূর্বাভাস দেওয়ার জন্য একটি মডেল তৈরি করেছি। এখন আমরা তিনজন ব্যক্তির উপর ভবিষ্যদ্বাণী করতে মডেলটি ব্যবহার করি।

সুতরাং, আমাদের কাছে স্থল সত্য, মডেল ভবিষ্যদ্বাণী এবং ফলস্বরূপ ত্রুটি রয়েছে:

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
স্থল সত্য, মডেল ভবিষ্যদ্বাণী, এবং পরম ত্রুটি (হাজার হাজার ডলারে)। [লেখকের ছবি]

 

যখন আমাদের একটি ভবিষ্যদ্বাণীমূলক মডেল থাকে, তখন আমরা সর্বদা মডেলের ভবিষ্যদ্বাণীগুলিকে একক বৈশিষ্ট্য দ্বারা আনা অবদানগুলির মধ্যে বিচ্ছিন্ন করতে পারি। এটি SHAP মানগুলির মাধ্যমে করা যেতে পারে (আপনি যদি SHAP মানগুলি কীভাবে কাজ করে সে সম্পর্কে না জানেন তবে আপনি আমার নিবন্ধটি পড়তে পারেন: SHAP মানগুলি সঠিকভাবে ব্যাখ্যা করেছে যে আপনি কীভাবে কেউ আপনাকে ব্যাখ্যা করতে চান).

সুতরাং, ধরা যাক এই তিনটি ব্যক্তির জন্য আমাদের মডেলের সাপেক্ষে SHAP মান।

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
আমাদের মডেলের পূর্বাভাসের জন্য SHAP মান (হাজার হাজার ডলারে)। [লেখকের ছবি]

 

SHAP মানের প্রধান বৈশিষ্ট্য হল যে তারা যোজক। এর মানে হল — প্রতিটি সারির যোগফল নিয়ে — আমরা সেই ব্যক্তির জন্য আমাদের মডেলের ভবিষ্যদ্বাণী পাব। উদাহরণস্বরূপ, যদি আমরা দ্বিতীয় সারিটি ধরি: 72k $ +3k $ -22k $ = 53k $, যা দ্বিতীয় ব্যক্তির জন্য মডেলের ভবিষ্যদ্বাণী।

এখন, SHAP মানগুলি আমাদের ভবিষ্যদ্বাণীগুলির জন্য একটি বৈশিষ্ট্য কতটা গুরুত্বপূর্ণ তার একটি ভাল সূচক৷ প্রকৃতপক্ষে, (পরম) SHAP মান যত বেশি হবে, সেই নির্দিষ্ট ব্যক্তির সম্পর্কে ভবিষ্যদ্বাণীর জন্য বৈশিষ্ট্যটি তত বেশি প্রভাবশালী। মনে রাখবেন যে আমি নিখুঁত SHAP মানগুলির কথা বলছি কারণ এখানে চিহ্নটি কোন ব্যাপার নয়: একটি বৈশিষ্ট্য সমানভাবে গুরুত্বপূর্ণ যদি এটি পূর্বাভাসকে উপরে বা নীচে ঠেলে দেয়।

অতএব, একটি বৈশিষ্ট্যের পূর্বাভাস অবদান সেই বৈশিষ্ট্যটির পরম SHAP মানের গড়ের সমান. আপনার যদি SHAP মানগুলি একটি পান্ডাস ডেটাফ্রেমে সংরক্ষিত থাকে তবে এটি তত সহজ:

prediction_contribution = shap_values.abs().mean()

আমাদের উদাহরণে, এটি ফলাফল:

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
ভবিষ্যদ্বাণী অবদান. [লেখকের ছবি]

 

আপনি দেখতে পাচ্ছেন, চাকরিটি স্পষ্টতই সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্য যেহেতু, গড় হিসাবে, এটি চূড়ান্ত ভবিষ্যদ্বাণীর 71.67k $ জন্য দায়ী। জাতীয়তা এবং বয়স যথাক্রমে দ্বিতীয় এবং তৃতীয় সর্বাধিক প্রাসঙ্গিক বৈশিষ্ট্য।

যাইহোক, যে একটি প্রদত্ত বৈশিষ্ট্য চূড়ান্ত ভবিষ্যদ্বাণীর একটি প্রাসঙ্গিক অংশের জন্য অ্যাকাউন্ট করে তা বৈশিষ্ট্যটির কার্যকারিতা সম্পর্কে কিছুই বলে না। এই দিকটিও বিবেচনা করার জন্য, আমাদের "ত্রুটি অবদান" গণনা করতে হবে।

ধরা যাক যে আমরা নিম্নলিখিত প্রশ্নের উত্তর দিতে চাই: “মডেলের বৈশিষ্ট্যটি না থাকলে কী ভবিষ্যদ্বাণী করবে কাজ?" SHAP মানগুলি আমাদের এই প্রশ্নের উত্তর দেওয়ার অনুমতি দেয়। প্রকৃতপক্ষে, যেহেতু এগুলি সংযোজনকারী, তাই বৈশিষ্ট্যের সাপেক্ষে SHAP মানগুলি বিয়োগ করার জন্য এটি যথেষ্ট কাজ মডেল দ্বারা তৈরি ভবিষ্যদ্বাণী থেকে.

অবশ্যই, আমরা প্রতিটি বৈশিষ্ট্যের জন্য এই পদ্ধতিটি পুনরাবৃত্তি করতে পারি। পান্ডায়:

y_pred_wo_feature = shap_values.apply(lambda feature: y_pred - feature)

এই ফলাফল:

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
ভবিষ্যদ্বাণী যা আমরা যদি সংশ্লিষ্ট বৈশিষ্ট্যটি সরিয়ে ফেলি তাহলে আমরা পাব। [লেখকের ছবি]

 

এর মানে হল যে, যদি আমাদের বৈশিষ্ট্যটি না থাকে কাজ, তাহলে মডেলটি প্রথম ব্যক্তির জন্য 20k$, দ্বিতীয়টির জন্য -19k$ এবং তৃতীয়টির জন্য -8k$ ভবিষ্যদ্বাণী করবে৷ পরিবর্তে, যদি আমাদের বৈশিষ্ট্যটি না থাকে বয়স, মডেলটি প্রথম ব্যক্তির জন্য 73k$, দ্বিতীয়টির জন্য 50k$, ইত্যাদি ভবিষ্যদ্বাণী করবে।

আপনি দেখতে পাচ্ছেন, প্রতিটি ব্যক্তির জন্য ভবিষ্যদ্বাণী অনেক পরিবর্তিত হয় যদি আমরা বিভিন্ন বৈশিষ্ট্য মুছে ফেলি। ফলস্বরূপ, ভবিষ্যদ্বাণী ত্রুটিগুলিও খুব আলাদা হবে৷ আমরা সহজেই তাদের গণনা করতে পারি:

abs_error_wo_feature = y_pred_wo_feature.apply(lambda feature: (y_true - feature).abs())

ফলাফল নিম্নরূপ:

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
সম্পূর্ণ ত্রুটি যা আমরা প্রাপ্ত করব যদি আমরা সংশ্লিষ্ট বৈশিষ্ট্যটি সরিয়ে ফেলি। [লেখকের ছবি]

 

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

তবে আমরা এর চেয়েও বেশি কিছু করতে পারি। প্রকৃতপক্ষে, আমরা সম্পূর্ণ মডেলের ত্রুটি এবং বৈশিষ্ট্য ছাড়া যে ত্রুটিগুলি পেতে পারি তার মধ্যে পার্থক্য গণনা করতে পারি:

error_diff = abs_error_wo_feature.apply(lambda feature: abs_error - feature)

যা হলো:

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
মডেলের ত্রুটি এবং বৈশিষ্ট্য ছাড়া আমাদের ত্রুটির মধ্যে পার্থক্য। [লেখকের ছবি]

 

যদি এই সংখ্যা হয়:

  • নেতিবাচক, তাহলে বৈশিষ্ট্যটির উপস্থিতি ভবিষ্যদ্বাণী ত্রুটি হ্রাসের দিকে নিয়ে যায়, তাই বৈশিষ্ট্যটি সেই পর্যবেক্ষণের জন্য ভাল কাজ করে!
  • ইতিবাচক, তাহলে বৈশিষ্ট্যটির উপস্থিতি ভবিষ্যদ্বাণী ত্রুটি বৃদ্ধির দিকে নিয়ে যায়, তাই বৈশিষ্ট্যটি সেই পর্যবেক্ষণের জন্য খারাপ।

আমরা প্রতিটি বৈশিষ্ট্যের জন্য এই মানগুলির গড় হিসাবে "ত্রুটি অবদান" গণনা করতে পারি. পান্ডায়:

error_contribution = error_diff.mean()

এই ফলাফল:

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
ত্রুটি অবদান. [লেখকের ছবি]

 

যদি এই মানটি ইতিবাচক হয়, তবে এর মানে হল যে, গড় হিসাবে, মডেলটিতে বৈশিষ্ট্যটির উপস্থিতি একটি উচ্চতর ত্রুটির দিকে নিয়ে যায়। সুতরাং, সেই বৈশিষ্ট্যটি না থাকলে, ভবিষ্যদ্বাণীটি সাধারণত আরও ভাল হত। অন্য কথায়, বৈশিষ্ট্যটি ভালোর চেয়ে ক্ষতিই বেশি করছে!

বিপরীতে, এই মান যত বেশি নেতিবাচক, বৈশিষ্ট্যটি ভবিষ্যদ্বাণীর জন্য তত বেশি উপকারী কারণ এর উপস্থিতি ছোট ত্রুটির দিকে নিয়ে যায়।

আসুন একটি বাস্তব ডেটাসেটে এই ধারণাগুলি ব্যবহার করার চেষ্টা করি।

অতঃপর, আমি থেকে নেওয়া একটি ডেটাসেট ব্যবহার করব পাইকারেট (এর অধীনে একটি পাইথন লাইব্রেরি এমআইটি লাইসেন্স) ডেটাসেটটিকে "গোল্ড" বলা হয় এবং এতে আর্থিক ডেটার সময় সিরিজ রয়েছে৷

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
ডেটাসেট নমুনা। বৈশিষ্ট্য সব শতাংশে প্রকাশ করা হয়, তাই -4.07 মানে -4.07% রিটার্ন। [লেখকের ছবি]

 

বৈশিষ্ট্যগুলি যথাক্রমে 22, 14, 7, এবং পর্যবেক্ষণ মুহূর্ত (“T-1”, “T-22”, “T-14”, “T-7”) এর 1 দিন আগে আর্থিক সম্পদের রিটার্ন নিয়ে গঠিত। ভবিষ্যদ্বাণীমূলক বৈশিষ্ট্য হিসাবে ব্যবহৃত সমস্ত আর্থিক সম্পদের সম্পূর্ণ তালিকা এখানে রয়েছে:

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
উপলব্ধ সম্পদের তালিকা। প্রতিটি সম্পদ সময়ে -22, -14, -7, এবং -1 পরিলক্ষিত হয়। [লেখকের ছবি]

 

মোট, আমাদের 120টি বৈশিষ্ট্য রয়েছে।

লক্ষ্য হল সোনার দাম (ফেরত) 22 দিন আগে পূর্বাভাস দেওয়া (“Gold_T+22”)। এর লক্ষ্য পরিবর্তনশীল একটি কটাক্ষপাত করা যাক.

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
ভেরিয়েবলের হিস্টোগ্রাম। [লেখকের ছবি]

 

একবার আমি ডেটাসেট লোড করার পরে, এই পদক্ষেপগুলি আমি সম্পন্ন করেছি:

  1. সম্পূর্ণ ডেটাসেটকে এলোমেলোভাবে বিভক্ত করুন: প্রশিক্ষণ ডেটাসেটের সারির 33%, বৈধতা ডেটাসেটে আরও 33% এবং পরীক্ষার ডেটাসেটে অবশিষ্ট 33%৷
  2. প্রশিক্ষণ ডেটাসেটে একটি লাইটজিবিএম রিগ্রেসারকে প্রশিক্ষণ দিন।
  3. পূর্ববর্তী ধাপে প্রশিক্ষিত মডেল ব্যবহার করে প্রশিক্ষণ, বৈধতা এবং পরীক্ষার ডেটাসেট সম্পর্কে ভবিষ্যদ্বাণী করুন।
  4. পাইথন লাইব্রেরি "shap" ব্যবহার করে প্রশিক্ষণ, বৈধতা এবং পরীক্ষার ডেটাসেটের SHAP মানগুলি গণনা করুন।
  5. পূর্ববর্তী অনুচ্ছেদে আমরা যে কোডটি দেখেছি তা ব্যবহার করে প্রতিটি ডেটাসেটে (প্রশিক্ষণ, বৈধতা এবং পরীক্ষা) প্রতিটি বৈশিষ্ট্যের পূর্বাভাস অবদান এবং ত্রুটি অবদান গণনা করুন।

আসুন প্রশিক্ষণ ডেটাসেটে ত্রুটি অবদান এবং পূর্বাভাস অবদানের তুলনা করি। আমরা একটি স্ক্যাটার প্লট ব্যবহার করব, তাই বিন্দুগুলি মডেলের 120টি বৈশিষ্ট্য চিহ্নিত করে।

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
পূর্বাভাস অবদান বনাম ত্রুটি অবদান (প্রশিক্ষণ ডেটাসেটে)। [লেখকের ছবি]

 

প্রশিক্ষণ সেটে ভবিষ্যদ্বাণী অবদান এবং ত্রুটি অবদানের মধ্যে একটি অত্যন্ত নেতিবাচক সম্পর্ক রয়েছে।

এবং এটি অর্থপূর্ণ: যেহেতু মডেলটি প্রশিক্ষণ ডেটাসেটে শিখেছে, তাই এটি সেই বৈশিষ্ট্যগুলিকে উচ্চ গুরুত্ব (অর্থাৎ উচ্চ ভবিষ্যদ্বাণী অবদান) প্রদানের প্রবণতা রাখে যা ভবিষ্যদ্বাণী ত্রুটির (অর্থাৎ অত্যন্ত নেতিবাচক ত্রুটি অবদান) একটি বড় হ্রাস ঘটায়।.

কিন্তু এটি আমাদের জ্ঞানে অনেক কিছু যোগ করে না, তাই না?

প্রকৃতপক্ষে, যা সত্যিই আমাদের কাছে গুরুত্বপূর্ণ তা হল বৈধতা ডেটাসেট। নতুন ডেটাতে আমাদের বৈশিষ্ট্যগুলি কীভাবে আচরণ করবে সে সম্পর্কে আমাদের কাছে থাকা সর্বোত্তম প্রক্সি হল বৈধকরণ ডেটাসেট। সুতরাং, আসুন যাচাইকরণ সেটে একই তুলনা করা যাক।

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
ভবিষ্যদ্বাণী অবদান বনাম ত্রুটি অবদান (বৈধকরণ ডেটাসেটে)। [লেখকের ছবি]

 

এই প্লট থেকে, আমরা আরও অনেক আকর্ষণীয় তথ্য বের করতে পারি।

প্লটের নীচের ডানদিকের বৈশিষ্ট্যগুলি হল সেইগুলি যেগুলিকে আমাদের মডেল সঠিকভাবে উচ্চ গুরুত্ব দিচ্ছে কারণ তারা প্রকৃতপক্ষে ভবিষ্যদ্বাণী ত্রুটি হ্রাস করে৷

এছাড়াও, নোট করুন যে "Gold_T-22" (পর্যবেক্ষণের সময়কালের 22 দিন আগে সোনার ফেরত) মডেলটি যে গুরুত্ব দিচ্ছে তার তুলনায় এটি সত্যিই ভাল কাজ করছে। এই যে মানে এই বৈশিষ্ট্য সম্ভবত underfitting হয়. এবং তথ্যের এই অংশটি বিশেষভাবে আকর্ষণীয় কারণ সোনা হল সেই সম্পদ যা আমরা ভবিষ্যদ্বাণী করার চেষ্টা করছি ("Gold_T+22")৷

অন্য দিকে, যে বৈশিষ্ট্যগুলিতে 0-এর উপরে একটি ত্রুটি অবদান রয়েছে সেগুলি আমাদের ভবিষ্যদ্বাণীগুলিকে আরও খারাপ করে তুলছে৷. উদাহরণ স্বরূপ, "ইউএস বন্ড ETF_T-1" গড়পড়তা মডেলের ভবিষ্যদ্বাণীকে 0.092% (ভবিষ্যদ্বাণী অবদান) পরিবর্তন করে, কিন্তু এটি মডেলটিকে গড় 0.013% (ত্রুটির অবদান) ভবিষ্যদ্বাণী করতে নিয়ে যায় যা এই বৈশিষ্ট্যটি ছাড়া হত তার চেয়ে খারাপ .

আমরা যে অনুমান করতে পারে একটি উচ্চ ত্রুটি অবদান সহ সমস্ত বৈশিষ্ট্য (তাদের পূর্বাভাস অবদানের তুলনায়) সম্ভবত অত্যধিক উপযুক্ত অথবা, সাধারণভাবে, প্রশিক্ষণ সেটে এবং বৈধতা সেটে তাদের আচরণ ভিন্ন।

চলুন দেখি কোন ফিচারে সবচেয়ে বড় Error Contribution আছে।

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
ত্রুটি অবদান হ্রাস দ্বারা বাছাই বৈশিষ্ট্য. [লেখকের ছবি]

 

এবং এখন সর্বনিম্ন ত্রুটি অবদান সহ বৈশিষ্ট্য:

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
ত্রুটি অবদান বৃদ্ধি দ্বারা বাছাই বৈশিষ্ট্য. [লেখকের ছবি]

 

মজার বিষয় হল, আমরা লক্ষ্য করতে পারি যে উচ্চতর ত্রুটি অবদানের সমস্ত বৈশিষ্ট্যগুলি T-1 (পর্যবেক্ষণের মুহুর্তের 1 দিন আগে) এর সাথে সম্পর্কিত, যেখানে ছোট ত্রুটি অবদান সহ প্রায় সমস্ত বৈশিষ্ট্যগুলি T-22 (পর্যবেক্ষণের মুহুর্তের 22 দিন আগে) এর সাথে সম্পর্কিত। )

এটি ইঙ্গিত বলে মনে হচ্ছে সাম্প্রতিক বৈশিষ্ট্যগুলি অতিরিক্ত ফিটিং প্রবণ, যেখানে সময়ের সাথে আরও দূরবর্তী বৈশিষ্ট্যগুলি আরও ভাল সাধারণীকরণের প্রবণতা রয়েছে৷.

মনে রাখবেন যে, ত্রুটি অবদান ছাড়া, আমরা এই অন্তর্দৃষ্টি জানতে পারতাম না।

ঐতিহ্যগত রিকার্সিভ ফিচার এলিমিনেশন (RFE) পদ্ধতিগুলি গুরুত্বহীন বৈশিষ্ট্যগুলি অপসারণের উপর ভিত্তি করে। এটি প্রথমে একটি ছোট পূর্বাভাস অবদান সহ বৈশিষ্ট্যগুলি সরানোর সমতুল্য৷

যাইহোক, আমরা পূর্ববর্তী অনুচ্ছেদে যা বলেছি তার উপর ভিত্তি করে, প্রথমে সর্বোচ্চ ত্রুটি অবদান সহ বৈশিষ্ট্যগুলি সরানো আরও বোধগম্য হবে৷

আমাদের অন্তর্দৃষ্টি যাচাই করা হয়েছে কিনা তা পরীক্ষা করতে, আসুন দুটি পদ্ধতির তুলনা করি:

  • ঐতিহ্যগত RFE: প্রথমে অকেজো বৈশিষ্ট্যগুলি সরানো (সর্বনিম্ন ভবিষ্যদ্বাণী অবদান)।
  • আমাদের RFE: ক্ষতিকারক বৈশিষ্ট্য অপসারণ প্রথম (সর্বোচ্চ ত্রুটি অবদান)।

আসুন যাচাইকরণ সেটের ফলাফলগুলি দেখি:

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
বৈধকরণ সেটে দুটি কৌশলের গড় পরম ত্রুটি। [লেখকের ছবি]

 

প্রতিটি পদ্ধতির জন্য সর্বোত্তম পুনরাবৃত্তি করা হয়েছে: এটি প্রথাগত RFE (নীল লাইন) এর জন্য 19টি বৈশিষ্ট্য সহ মডেল এবং আমাদের RFE (কমলা লাইন) এর জন্য 17টি বৈশিষ্ট্য সহ মডেল৷

সাধারণভাবে, এটা মনে হয় যে আমাদের পদ্ধতিটি ভাল কাজ করে: সর্বোচ্চ ত্রুটি অবদান সহ বৈশিষ্ট্যটি সরানো সর্বোচ্চ ভবিষ্যদ্বাণী অবদান সহ বৈশিষ্ট্যটি সরানোর তুলনায় ধারাবাহিকভাবে ছোট MAE নিয়ে যায়।

যাইহোক, আপনি ভাবতে পারেন যে এটি ভাল কাজ করে কারণ আমরা বৈধতা সেটটি ওভারফিটিং করছি। সর্বোপরি, আমরা পরীক্ষার সেটে যে ফলাফলটি পাব তাতে আমরা আগ্রহী।

তাই পরীক্ষা সেটে একই তুলনা দেখা যাক।

 

আপনার বৈশিষ্ট্য গুরুত্বপূর্ণ? এর মানে এই নয় যে তারা ভালো
পরীক্ষার সেটে দুটি কৌশলের গড় পরম ত্রুটি। [লেখকের ছবি]

 

ফলাফল আগের মতই। এমনকি দুটি লাইনের মধ্যে দূরত্ব কম থাকলেও, সর্বোচ্চ ত্রুটি অবদানকারীকে সরিয়ে দিয়ে প্রাপ্ত MAE সর্বনিম্ন পূর্বাভাস অবদানকারীকে সরিয়ে MAE থেকে স্পষ্টতই ভাল।

যেহেতু আমরা যাচাইকরণ সেটে সবচেয়ে ছোট MAE-এর দিকে নিয়ে যাওয়া মডেলগুলি নির্বাচন করেছি, আসুন পরীক্ষা সেটে তাদের ফলাফল দেখি:

  • RFE-ভবিষ্যদ্বাণী অবদান (19 বৈশিষ্ট্য)। পরীক্ষার সেটে MAE: 2.04।
  • RFE-ত্রুটি অবদান (17 বৈশিষ্ট্য)। পরীক্ষার সেটে MAE: 1.94।

সুতরাং আমাদের পদ্ধতি ব্যবহার করে সেরা MAE ঐতিহ্যগত RFE এর তুলনায় 5% ভাল!

বৈশিষ্ট্যের গুরুত্বের ধারণাটি মেশিন লার্নিংয়ে একটি মৌলিক ভূমিকা পালন করে। যাইহোক, "গুরুত্ব" ধারণাটি প্রায়শই "ভালতা" এর জন্য ভুল হয়।

এই দুটি দিকের মধ্যে পার্থক্য করার জন্য আমরা দুটি ধারণা চালু করেছি: পূর্বাভাস অবদান এবং ত্রুটি অবদান। উভয় ধারণাই যাচাইকরণ ডেটাসেটের SHAP মানের উপর ভিত্তি করে, এবং নিবন্ধে আমরা সেগুলি গণনা করার জন্য পাইথন কোড দেখেছি।

আমরা তাদের একটি বাস্তব আর্থিক ডেটাসেটেও চেষ্টা করেছি (যে কাজটি সোনার দামের পূর্বাভাস দিচ্ছে) এবং প্রমাণ করেছি যে ত্রুটি অবদানের উপর ভিত্তি করে রিকার্সিভ ফিচার এলিমিনেশন প্রেডিকশন কন্ট্রিবিউশনের উপর ভিত্তি করে প্রচলিত RFE এর তুলনায় 5% ভাল গড় পরম ত্রুটির দিকে নিয়ে যায়।

এই নিবন্ধের জন্য ব্যবহৃত সমস্ত কোড পাওয়া যাবে এই নোটবুক.

পড়ার জন্য আপনাকে ধন্যবাদ!

 
 
স্যামুয়েল মাজান্তি জাকালার লিড ডেটা সায়েন্টিস্ট এবং বর্তমানে রোমে থাকেন। তিনি পরিসংখ্যানে স্নাতক হন এবং তার প্রধান গবেষণার আগ্রহ শিল্পের জন্য মেশিন লার্নিং অ্যাপ্লিকেশন। এছাড়াও তিনি একজন ফ্রিল্যান্স কন্টেন্ট ক্রিয়েটর।

 
মূল। অনুমতি নিয়ে পোস্ট করা।
 

সময় স্ট্যাম্প:

থেকে আরো কেডনুগেটস