آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں - KDnuggets

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں – KDnuggets

ماخذ نوڈ: 2893531

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
[تصویر بذریعہ مصنف]

 

"خصوصیات کی اہمیت" کا تصور مشین لرننگ میں سب سے بنیادی قسم کے ماڈل کی وضاحت کے طور پر بڑے پیمانے پر استعمال ہوتا ہے۔ مثال کے طور پر، اس کا استعمال Recursive Feature Elimination (RFE) میں کیا جاتا ہے، تاکہ ماڈل کی کم سے کم اہم خصوصیت کو تکراری طور پر چھوڑا جا سکے۔

تاہم، اس کے بارے میں ایک غلط فہمی ہے.

حقیقت یہ ہے کہ ایک خصوصیت اہم ہے اس کا مطلب یہ نہیں ہے کہ یہ ماڈل کے لئے فائدہ مند ہے!

درحقیقت، جب ہم کہتے ہیں کہ کوئی خصوصیت اہم ہے، تو اس کا سیدھا مطلب ہے کہ یہ خصوصیت ماڈل کی طرف سے کی گئی پیشین گوئیوں میں ایک اعلیٰ شراکت لاتی ہے۔ لیکن ہمیں اس پر غور کرنا چاہیے۔ اس طرح کی شراکت غلط ہو سکتی ہے.

ایک سادہ مثال لیں: ڈیٹا سائنسدان غلطی سے اپنے ماڈل کی خصوصیات کے درمیان کسٹمر آئی ڈی بھول جاتا ہے۔ ماڈل کسٹمر آئی ڈی کو انتہائی پیش گوئی کرنے والی خصوصیت کے طور پر استعمال کرتا ہے۔ نتیجے کے طور پر، اس خصوصیت کی ایک اعلیٰ اہمیت ہوگی چاہے یہ ماڈل کو مزید خراب کر رہا ہو، کیونکہ یہ غیر دیکھے ہوئے ڈیٹا پر اچھی طرح کام نہیں کر سکتا۔

چیزوں کو واضح کرنے کے لیے، ہمیں دو تصورات کے درمیان فرق کرنے کی ضرورت ہوگی:

  • پیشن گوئی کی شراکت: پیشین گوئیوں کا کون سا حصہ خصوصیت کی وجہ سے ہے؛ یہ خصوصیت کی اہمیت کے برابر ہے۔
  • غلطی کا تعاون: پیشین گوئی کی غلطیوں کا کون سا حصہ ماڈل میں خصوصیت کی موجودگی کی وجہ سے ہے۔

اس مضمون میں، ہم دیکھیں گے کہ ان مقداروں کا حساب کیسے لگایا جائے اور پیش گوئی کرنے والے ماڈل کے بارے میں قیمتی بصیرت حاصل کرنے کے لیے (اور اسے بہتر بنانے کے لیے) ان کا استعمال کیسے کیا جائے۔

نوٹ: یہ مضمون رجعت کے معاملے پر مرکوز ہے۔ اگر آپ درجہ بندی کے معاملے میں زیادہ دلچسپی رکھتے ہیں، تو آپ پڑھ سکتے ہیں۔ "آپ کے درجہ بندی کے ماڈل کے لیے کون سی خصوصیات نقصان دہ ہیں؟"

فرض کریں کہ ہم نے لوگوں کی ملازمت، عمر اور قومیت کی بنیاد پر ان کی آمدنی کا اندازہ لگانے کے لیے ایک ماڈل بنایا ہے۔ اب ہم تین لوگوں پر پیشین گوئی کرنے کے لیے ماڈل کا استعمال کرتے ہیں۔

اس طرح، ہمارے پاس زمینی سچائی، ماڈل پیشین گوئی، اور نتیجے میں ہونے والی غلطی ہے:

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
زمینی سچائی، ماڈل پیشین گوئی، اور مطلق غلطی (ہزاروں ڈالر میں)۔ [تصویر بذریعہ مصنف]

 

جب ہمارے پاس پیشین گوئی کرنے والا ماڈل ہوتا ہے، تو ہم ہمیشہ ماڈل کی پیشین گوئیوں کو واحد خصوصیات کے ذریعے لائے جانے والے تعاون میں تحلیل کر سکتے ہیں۔ یہ SHAP اقدار کے ذریعے کیا جا سکتا ہے (اگر آپ اس بارے میں نہیں جانتے کہ SHAP اقدار کیسے کام کرتی ہیں، تو آپ میرا مضمون پڑھ سکتے ہیں: SHAP قدروں کی بالکل وضاحت کی گئی ہے کہ آپ کی خواہش ہے کہ کسی نے آپ کو کیسے سمجھائے۔).

تو، آئیے کہتے ہیں کہ یہ تینوں افراد کے لیے ہمارے ماڈل کی نسبت SHAP اقدار ہیں۔

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
ہمارے ماڈل کی پیشین گوئیوں کے لیے SHAP قدریں (ہزاروں ڈالر میں)۔ [تصویر بذریعہ مصنف]

 

SHAP اقدار کی بنیادی خاصیت یہ ہے کہ وہ اضافی ہیں۔ اس کا مطلب ہے کہ — ہر قطار کا مجموعہ لے کر — ہم اس فرد کے لیے اپنے ماڈل کی پیشین گوئی حاصل کریں گے۔ مثال کے طور پر، اگر ہم دوسری قطار لیں: 72k $ +3k $ -22k $ = 53k $، جو بالکل دوسرے فرد کے لیے ماڈل کی پیشین گوئی ہے۔

اب، SHAP اقدار اس بات کا ایک اچھا اشارہ ہیں کہ ہماری پیشین گوئیوں کے لیے کوئی خصوصیت کتنی اہم ہے۔ درحقیقت، (مطلق) SHAP قدر جتنی زیادہ ہوگی، اس مخصوص فرد کے بارے میں پیشین گوئی کے لیے خصوصیت اتنی ہی زیادہ اثر انگیز ہوگی۔ نوٹ کریں کہ میں مطلق SHAP اقدار کے بارے میں بات کر رہا ہوں کیونکہ یہاں نشان سے کوئی فرق نہیں پڑتا ہے: ایک خصوصیت اتنی ہی اہم ہے اگر یہ پیشین گوئی کو اوپر یا نیچے دھکیلتی ہے۔

لہذا، کسی خصوصیت کی پیشن گوئی کی شراکت اس خصوصیت کی مطلق SHAP اقدار کے اوسط کے برابر ہے. اگر آپ کے پاس پانڈاس ڈیٹا فریم میں SHAP قدریں محفوظ ہیں، تو یہ اتنا ہی آسان ہے:

prediction_contribution = shap_values.abs().mean()

ہماری مثال میں، یہ نتیجہ ہے:

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
پیشن گوئی کی شراکت. [تصویر بذریعہ مصنف]

 

جیسا کہ آپ دیکھ سکتے ہیں، جاب واضح طور پر سب سے اہم خصوصیت ہے کیونکہ، اوسطاً، یہ حتمی پیشین گوئی کے 71.67k$ کا حصہ ہے۔ قومیت اور عمر بالترتیب دوسری اور تیسری سب سے زیادہ متعلقہ خصوصیت ہیں۔

تاہم، حقیقت یہ ہے کہ دی گئی خصوصیت حتمی پیشین گوئی کے متعلقہ حصے کے لیے ہوتی ہے اس خصوصیت کی کارکردگی کے بارے میں کچھ نہیں بتاتی۔ اس پہلو پر بھی غور کرنے کے لیے، ہمیں "Error Contribution" کا حساب لگانا ہوگا۔

ہم کہتے ہیں کہ ہم مندرجہ ذیل سوال کا جواب دینا چاہتے ہیں: "اگر یہ خصوصیت نہ ہوتی تو ماڈل کیا پیشین گوئیاں کرے گا؟ کام؟ 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_contribution = error_diff.mean()

یہ نتیجہ ہے:

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
غلطی کا تعاون۔ [تصویر بذریعہ مصنف]

 

اگر یہ قدر مثبت ہے، تو اس کا مطلب ہے کہ، اوسطاً، ماڈل میں خصوصیت کی موجودگی زیادہ خرابی کا باعث بنتی ہے۔ اس طرح، اس خصوصیت کے بغیر، پیشن گوئی عام طور پر بہتر ہوتی۔ دوسرے الفاظ میں، خصوصیت اچھے سے زیادہ نقصان پہنچا رہی ہے!

اس کے برعکس، یہ قدر جتنی منفی ہوگی، یہ فیچر پیشین گوئیوں کے لیے اتنا ہی زیادہ فائدہ مند ہوگا کیونکہ اس کی موجودگی چھوٹی غلطیوں کا باعث بنتی ہے۔

آئیے ان تصورات کو ایک حقیقی ڈیٹاسیٹ پر استعمال کرنے کی کوشش کریں۔

اس کے بعد، میں اس سے لیا گیا ڈیٹاسیٹ استعمال کروں گا۔ پائکیریٹ (کے تحت ایک ازگر کی لائبریری MIT لائسنس)۔ ڈیٹا سیٹ کو "گولڈ" کہا جاتا ہے اور اس میں مالیاتی ڈیٹا کی ٹائم سیریز ہوتی ہے۔

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
ڈیٹا سیٹ کا نمونہ۔ تمام خصوصیات کو فیصد میں ظاہر کیا گیا ہے، لہذا -4.07 کا مطلب ہے -4.07% کی واپسی۔ [تصویر بذریعہ مصنف]

 

یہ خصوصیات بالترتیب 22، 14، 7، اور 1 دن مشاہدے کے لمحے ("T-22"، "T-14"، "T-7"، "T-1") سے پہلے مالیاتی اثاثوں کی واپسی پر مشتمل ہیں۔ پیشین گوئی کی خصوصیات کے طور پر استعمال ہونے والے تمام مالیاتی اثاثوں کی مکمل فہرست یہ ہے:

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
دستیاب اثاثوں کی فہرست۔ ہر اثاثہ کو وقت -22، -14، -7، اور -1 پر دیکھا جاتا ہے۔ [تصویر بذریعہ مصنف]

 

مجموعی طور پر، ہمارے پاس 120 خصوصیات ہیں۔

مقصد 22 دن پہلے سونے کی قیمت (واپسی) کی پیشین گوئی کرنا ہے ("Gold_T+22")۔ آئیے ہدف متغیر پر ایک نظر ڈالتے ہیں۔

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
متغیر کا ہسٹوگرام۔ [تصویر بذریعہ مصنف]

 

ایک بار جب میں نے ڈیٹاسیٹ کو لوڈ کیا، تو یہ وہ اقدامات ہیں جو میں نے انجام دیے ہیں:

  1. مکمل ڈیٹاسیٹ کو تصادفی طور پر تقسیم کریں: ٹریننگ ڈیٹاسیٹ میں قطاروں کا 33%، تصدیقی ڈیٹاسیٹ میں مزید 33%، اور ٹیسٹ ڈیٹاسیٹ میں بقیہ 33%۔
  2. ٹریننگ ڈیٹاسیٹ پر لائٹ جی بی ایم ریگریسر کو تربیت دیں۔
  3. پچھلے مرحلے پر تربیت یافتہ ماڈل کا استعمال کرتے ہوئے، تربیت، توثیق، اور ٹیسٹ ڈیٹا سیٹس کے بارے میں پیشین گوئیاں کریں۔
  4. Python لائبریری "shap" کا استعمال کرتے ہوئے، تربیت، توثیق، اور ٹیسٹ ڈیٹاسیٹس کی SHAP اقدار کی گنتی کریں۔
  5. ہر ڈیٹاسیٹ (تربیت، توثیق، اور ٹیسٹ) پر پیشین گوئی کی شراکت اور ہر خصوصیت کی غلطی کی شراکت کا حساب کریں، اس کوڈ کا استعمال کرتے ہوئے جو ہم نے پچھلے پیراگراف میں دیکھا ہے۔

آئیے تربیتی ڈیٹاسیٹ میں غلطی کی شراکت اور پیشین گوئی کی شراکت کا موازنہ کریں۔ ہم ایک سکیٹر پلاٹ استعمال کریں گے، لہذا نقطے ماڈل کی 120 خصوصیات کی نشاندہی کرتے ہیں۔

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
پیشین گوئی کی شراکت بمقابلہ غلطی کا تعاون (ٹریننگ ڈیٹاسیٹ پر)۔ [تصویر بذریعہ مصنف]

 

تربیتی سیٹ میں پیشین گوئی کی شراکت اور غلطی کی شراکت کے درمیان ایک انتہائی منفی تعلق ہے۔

اور یہ معنی رکھتا ہے: چونکہ ماڈل ٹریننگ ڈیٹاسیٹ پر سیکھتا ہے، اس لیے یہ ان خصوصیات کو اعلیٰ اہمیت (یعنی اعلیٰ پیشین گوئی کی شراکت) سے منسوب کرتا ہے جو پیشین گوئی کی غلطی میں زبردست کمی کا باعث بنتے ہیں (یعنی انتہائی منفی غلطی کا حصہ).

لیکن یہ ہمارے علم میں زیادہ اضافہ نہیں کرتا، ٹھیک ہے؟

درحقیقت، ہمارے لیے جو چیز واقعی اہمیت رکھتی ہے وہ ہے توثیق ڈیٹاسیٹ۔ توثیق کا ڈیٹاسیٹ درحقیقت ہمارے پاس اس بارے میں بہترین پراکسی ہے کہ ہماری خصوصیات نئے ڈیٹا پر کیسا برتاؤ کریں گی۔ تو، آئیے توثیق سیٹ پر ایک ہی موازنہ کرتے ہیں۔

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
پیشین گوئی کی شراکت بمقابلہ غلطی کا تعاون (تصدیق ڈیٹاسیٹ پر)۔ [تصویر بذریعہ مصنف]

 

اس پلاٹ سے، ہم کچھ اور بھی دلچسپ معلومات نکال سکتے ہیں۔

پلاٹ کے نچلے دائیں حصے میں وہ خصوصیات ہیں جن کو ہمارا ماڈل صحیح طور پر زیادہ اہمیت دے رہا ہے کیونکہ وہ حقیقت میں پیشین گوئی کی غلطی میں کمی لاتے ہیں۔

اس کے علاوہ، نوٹ کریں کہ "Gold_T-22" (مشاہدے کی مدت سے 22 دن پہلے سونے کی واپسی) اس اہمیت کے مقابلے میں بہت اچھا کام کر رہا ہے جو ماڈل اس سے منسوب کر رہا ہے۔ اس کا مطلب ہے کہ یہ خصوصیت ممکنہ طور پر کم ہے. اور معلومات کا یہ ٹکڑا خاص طور پر دلچسپ ہے کیونکہ سونا وہ اثاثہ ہے جس کی ہم پیشین گوئی کرنے کی کوشش کر رہے ہیں ("Gold_T+22")۔

دوسری طرف، وہ خصوصیات جن میں 0 سے اوپر کا ایرر کنٹریبیوشن ہے وہ ہماری پیشین گوئیوں کو مزید خراب کر رہے ہیں۔. مثال کے طور پر، "US Bond ETF_T-1" اوسطاً ماڈل کی پیشن گوئی کو 0.092% (پیش گوئی کنٹریبیوشن) میں تبدیل کرتا ہے، لیکن یہ ماڈل کو اوسطاً 0.013% (خرابی کی شراکت) کی پیشین گوئی کرنے کی طرف لے جاتا ہے جتنا کہ اس خصوصیت کے بغیر ہوتا۔ .

ہم یہ فرض کر سکتے ہیں۔ ایک اعلی ایرر کنٹریبیوشن والی تمام خصوصیات (ان کی پیشین گوئی کی شراکت کے مقابلے) غالباً زیادہ موزوں ہیں یا، عام طور پر، تربیتی سیٹ اور توثیق سیٹ میں ان کا رویہ مختلف ہوتا ہے۔

آئیے دیکھتے ہیں کہ کن خصوصیات میں سب سے زیادہ ایرر کنٹریبیوشن ہے۔

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
خرابی کی شراکت کو کم کر کے ترتیب دی گئی خصوصیات۔ [تصویر بذریعہ مصنف]

 

اور اب سب سے کم ایرر کنٹریبیوشن والی خصوصیات:

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
خرابی کی شراکت کو بڑھا کر ترتیب دی گئی خصوصیات۔ [تصویر بذریعہ مصنف]

 

دلچسپ بات یہ ہے کہ ہم مشاہدہ کر سکتے ہیں کہ زیادہ خرابی کی شراکت والی تمام خصوصیات T-1 (مشاہدہ کے لمحے سے 1 دن پہلے) سے متعلق ہیں، جب کہ چھوٹی غلطی کی شراکت والی تقریباً تمام خصوصیات T-22 (مشاہدے کے لمحے سے 22 دن پہلے) سے متعلق ہیں۔ )۔

ایسا لگتا ہے کہ یہ اشارہ کرتا ہے۔ تازہ ترین خصوصیات اوور فٹنگ کا شکار ہیں، جب کہ وقت کے ساتھ زیادہ دور کی خصوصیات بہتر طور پر عام ہوتی ہیں۔.

نوٹ کریں کہ، غلطی کی شراکت کے بغیر، ہم اس بصیرت کو کبھی نہیں جان سکتے تھے۔

روایتی ریکسریو فیچر ایلیمینیشن (RFE) کے طریقے غیر اہم خصوصیات کو ہٹانے پر مبنی ہیں۔ یہ پہلے ایک چھوٹی پیشین گوئی شراکت کے ساتھ خصوصیات کو ہٹانے کے مترادف ہے۔

تاہم، پچھلے پیراگراف میں ہم نے جو کہا ہے اس کی بنیاد پر، سب سے پہلے سب سے زیادہ ایرر کنٹریبیوشن والی خصوصیات کو ہٹانا زیادہ معنی خیز ہوگا۔

یہ جانچنے کے لیے کہ آیا ہماری وجدان کی تصدیق ہوئی ہے، آئیے دو طریقوں کا موازنہ کرتے ہیں:

  • روایتی RFE: پہلے بیکار خصوصیات کو ہٹانا (سب سے کم پیشین گوئی کی شراکت)۔
  • ہمارا RFE: نقصان دہ خصوصیات کو ہٹانا سب سے پہلے (سب سے زیادہ خرابی کی شراکت)۔

آئیے توثیق سیٹ پر نتائج دیکھتے ہیں:

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
توثیق کے سیٹ پر دو حکمت عملیوں کی مطلق غلطی کا مطلب ہے۔ [تصویر بذریعہ مصنف]

 

ہر طریقہ کے لیے بہترین تکرار کا چکر لگایا گیا ہے: یہ روایتی RFE (نیلی لائن) کے لیے 19 خصوصیات کے ساتھ ماڈل اور ہمارے RFE (اورنج لائن) کے لیے 17 خصوصیات کے ساتھ ماڈل ہے۔

عام طور پر، ایسا لگتا ہے کہ ہمارا طریقہ کار اچھا کام کرتا ہے: سب سے زیادہ ایرر کنٹریبیوشن کے ساتھ فیچر کو ہٹانا سب سے زیادہ پیشین گوئی کنٹریبیوشن والی خصوصیت کو ہٹانے کے مقابلے میں مسلسل چھوٹا MAE کا باعث بنتا ہے۔

تاہم، آپ سوچ سکتے ہیں کہ یہ صرف اس لیے اچھا کام کرتا ہے کہ ہم توثیق کے سیٹ کو اوور فٹ کر رہے ہیں۔ سب کے بعد، ہم اس نتیجے میں دلچسپی رکھتے ہیں جو ہم ٹیسٹ سیٹ پر حاصل کریں گے.

تو آئیے ٹیسٹ سیٹ پر ایک ہی موازنہ دیکھتے ہیں۔

 

آپ کی خصوصیات اہم ہیں؟ اس کا یہ مطلب نہیں کہ وہ اچھے ہیں۔
ٹیسٹ سیٹ پر دو حکمت عملیوں کی مطلق غلطی کا مطلب ہے۔ [تصویر بذریعہ مصنف]

 

نتیجہ پچھلے ایک جیسا ہی ہے۔ یہاں تک کہ اگر دو لائنوں کے درمیان کم فاصلہ ہے، سب سے زیادہ ایرر کنٹریبیوٹر کو ہٹا کر حاصل کردہ MAE سب سے کم پیشین گوئی کنٹریبیوٹر کو ہٹا کر حاصل کردہ MAE سے واضح طور پر بہتر ہے۔

چونکہ ہم نے توثیق سیٹ پر سب سے چھوٹے MAE کی طرف جانے والے ماڈلز کا انتخاب کیا ہے، آئیے ٹیسٹ سیٹ پر ان کا نتیجہ دیکھتے ہیں:

  • RFE- پیشن گوئی کی شراکت (19 خصوصیات)۔ ٹیسٹ سیٹ پر MAE: 2.04۔
  • RFE-Error Contribution (17 فیچرز)۔ ٹیسٹ سیٹ پر MAE: 1.94۔

لہذا ہمارا طریقہ استعمال کرنے والا بہترین MAE روایتی RFE کے مقابلے میں 5% بہتر ہے!

خصوصیت کی اہمیت کا تصور مشین لرننگ میں بنیادی کردار ادا کرتا ہے۔ تاہم، "اہمیت" کے تصور کو اکثر "اچھائی" کے لیے غلط سمجھا جاتا ہے۔

ان دو پہلوؤں کے درمیان فرق کرنے کے لیے ہم نے دو تصورات متعارف کرائے ہیں: پیشین گوئی کی شراکت اور غلطی کی شراکت۔ دونوں تصورات توثیق ڈیٹاسیٹ کی SHAP اقدار پر مبنی ہیں، اور مضمون میں ہم نے ان کی گنتی کے لیے Python کوڈ دیکھا ہے۔

ہم نے انہیں ایک حقیقی مالیاتی ڈیٹاسیٹ پر بھی آزمایا ہے (جس میں کام سونے کی قیمت کی پیشن گوئی کر رہا ہے) اور ثابت کیا ہے کہ ایرر کنٹریبیوشن پر مبنی ریکرسیو فیچر کا خاتمہ روایتی RFE کے مقابلے میں 5% بہتر اوسط مطلق خرابی کا باعث بنتا ہے۔

اس مضمون کے لیے استعمال کیے گئے تمام کوڈ میں پایا جا سکتا ہے۔ یہ نوٹ بک.

پڑھنے کے لئے شکریہ!

 
 
سیموئل مازانٹی جکالا میں لیڈ ڈیٹا سائنٹسٹ ہیں اور فی الحال روم میں رہتے ہیں۔ اس نے شماریات میں گریجویشن کیا اور اس کی بنیادی تحقیقی دلچسپی صنعت کے لیے مشین لرننگ ایپلی کیشنز سے متعلق ہے۔ وہ آزادانہ مواد تخلیق کرنے والا بھی ہے۔

 
حقیقی. اجازت کے ساتھ دوبارہ پوسٹ کیا۔
 

ٹائم اسٹیمپ:

سے زیادہ KDnuggets