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

ماخذ نوڈ: 1178501

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

کیا آپ کے ماڈل کی کارکردگی کی پیمائش "بڑے" ٹیسٹ سیٹ کی وجہ سے بہت درست ہے، یا "چھوٹے" یا غیر متوازن ٹیسٹ سیٹ کی وجہ سے بہت غیر یقینی ہے؟


By ڈیوڈ بی روزن (پی ایچ ڈی)IBM گلوبل فنانسنگ میں خودکار کریڈٹ کی منظوری کے لیے لیڈ ڈیٹا سائنٹسٹ



اورنج لائن 89.7% کو متوازن درستگی کے اعتماد کے وقفے کی نچلی حد کے طور پر ظاہر کرتی ہے، اصل مشاہدہ شدہ متوازن درستگی = 92.4% (پوائنٹ تخمینہ) کے لیے سبز اور 94.7% کی بالائی حد کے لیے سرخ۔ (یہ اور تمام تصاویر مصنف کی ہیں جب تک کہ دوسری صورت میں نوٹ نہ کیا جائے۔)

تعارف

 
 
اگر آپ ٹیسٹ سیٹ پر درستگی=94.8% اور F1=92.3% ہونے کے طور پر اپنے درجہ بندی کی کارکردگی کی اطلاع دیتے ہیں، تو اس کا مطلب یہ نہیں ہے کہ ٹیسٹ سیٹ کے سائز اور ساخت کے بارے میں کچھ جانے بغیر۔ ان کارکردگی کی پیمائشوں کی غلطی کا مارجن ٹیسٹ سیٹ کے سائز کے لحاظ سے بہت مختلف ہوگا، یا، ایک غیر متوازن ڈیٹاسیٹ کے لیے، بنیادی طور پر اس بات پر منحصر ہے کہ کتنی آزاد مثالیں ہیں۔ اقلیت اس میں کلاس ہے (اوور سیمپلنگ سے ایک ہی مثال کی مزید کاپیاں اس مقصد کے لئے مددگار نہیں ہیں)۔

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

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

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

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

بوٹسٹریپ کا طریقہ کار

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

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

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

۔ صدویہ اعتماد کے وقفے کا تخمینہ لگانے کے لیے بوٹسٹریپ طریقہ کار مندرجہ ذیل ہے:

  1. بنائیں nboots "بوٹسٹریپ نمونہ" ڈیٹاسیٹس، ہر ایک کا سائز وہی ہے جو اصل ٹیسٹ سیٹ کے ہے۔ ہر نمونہ ڈیٹاسیٹ کو متبادل کے ساتھ ٹیسٹ سیٹ سے بے ترتیب طور پر مثالیں ڈرائنگ کرکے حاصل کیا جاتا ہے۔
  2. سیمپل ڈیٹا سیٹس میں سے ہر ایک پر، میٹرک کا حساب لگائیں اور اسے محفوظ کریں۔
  3. 95% اعتماد کا وقفہ 2.5 کے ذریعے دیا جاتا ہے۔th 97.5 پرth فیصد کے درمیان nboots میٹرک کی حسابی اقدار اگر nboots=1001 اور آپ نے قدروں کو سیریز/سرنی/ فہرست میں ترتیب دیا۔ X لمبائی 1001، 0th فیصد ہے X[0] اور 100th فیصد ہے X[1000]، تو اعتماد کا وقفہ بذریعہ دیا جائے گا۔ X[25] سے X[975].

بلاشبہ آپ مرحلہ 2 میں ہر نمونے کے ڈیٹاسیٹ کے لیے اپنی پسند کے مطابق زیادہ سے زیادہ میٹرکس کا حساب لگا سکتے ہیں، لیکن مرحلہ 3 میں آپ کو ہر میٹرک کے پرسنٹائلز الگ الگ ملیں گے۔

ڈیٹا سیٹ اور اعتماد کے وقفہ کے نتائج کی مثال

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

اس مضمون میں ہم نے استعمال کیا۔ انتہائیغیر متوازن دو کلاس کاگل کریڈٹ کارڈ فراڈ شناختی ڈیٹا سیٹ. ہم نے پہلے سے طے شدہ 0.5 حد سے بالکل مختلف درجہ بندی کی حد کو استعمال کرنے کا انتخاب کیا جو کہ پیش گوئی() طریقہ استعمال کرنے میں مضمر ہے، جس سے ڈیٹا کو متوازن کرنا غیر ضروری ہے۔ یہ نقطہ نظر کبھی کبھی کہا جاتا ہے حد منتقل، جس میں ہمارا درجہ بندی پیشین گوئی کے ذریعہ فراہم کردہ پیشین گوئی شدہ کلاس کے امکان پر منتخب کردہ حد کو لاگو کرکے کلاس کو تفویض کرتا ہے۔_پروبا() طریقہ۔

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

ایک بوٹ نمونہ ڈیٹاسیٹ تیار کرنا

 
 
اگرچہ ہمارا اعتماد کا وقفہ کوڈ میٹرک فنکشنز کو منتقل کرنے کے لیے متعدد اعداد و شمار کے دلائل کو ہینڈل کر سکتا ہے، لیکن ہم سکلیرن طرز کی میٹرکس پر توجہ مرکوز کریں گے، جو ہمیشہ ڈیٹا کے دو دلائل، y_true اور y_pred کو قبول کرتے ہیں، جہاں y_pred یا تو بائنری کلاس کی پیشین گوئیاں ہوں گی (0 یا 1)، یا مسلسل طبقاتی امکان یا فیصلے کے فنکشن کی پیشین گوئیاں، یا یہاں تک کہ مسلسل رجعت کی پیشین گوئیاں اگر y_true بھی مسلسل ہے۔ مندرجہ ذیل فنکشن ایک بوٹ نمونہ ڈیٹاسیٹ تیار کرتا ہے۔ یہ کسی بھی ڈیٹا_ارگز کو قبول کرتا ہے لیکن ہمارے معاملے میں یہ دلائل ہوں گے۔ ytest(ہمارے اصل/حقیقی ٹیسٹ میں ہدف کی قدریں مقرر کی گئی ہیں۔ پچھلا مضمون) اور hardpredtst_tuned_thresh (پیش گوئی کی کلاس) دونوں میں ہر ایک مثال کے لیے صحیح یا پیش گوئی کی گئی کلاس کی نشاندہی کرنے کے لیے صفر اور والے ہوتے ہیں۔

حسب ضرورت میٹرک specificity_score() اور یوٹیلیٹی فنکشنز

 
 
ہم مخصوصیت کے لیے ایک کسٹم میٹرک فنکشن کی وضاحت کریں گے، جو کہ یاد کرنے کا ایک اور نام ہے۔ منفی کلاس (کلاس 0)۔ نیز ایک calc_metrics فنکشن جو ہمارے ڈیٹا پر دلچسپی کے میٹرکس کی ترتیب کو لاگو کرتا ہے، اور اس کے لیے کچھ افادیت کے افعال:

یہاں ہم میٹرکس کی اپنی فہرست بناتے ہیں اور انہیں ڈیٹا پر لاگو کرتے ہیں۔ ہم نے درستگی کو متعلقہ میٹرک نہیں سمجھا کیونکہ ایک غلط منفی (حقیقی دھوکہ دہی کو قانونی طور پر غلط درجہ بندی کرنا) کاروبار کے لیے جھوٹے مثبت (حقیقی قانونی کو دھوکہ دہی کے طور پر غلط درجہ بندی کرنا) سے کہیں زیادہ مہنگا ہے، جبکہ درستگی دونوں قسم کی غلط درجہ بندی کا علاج کرتی ہے۔ اتنے ہی برے ہیں اور اس لیے درست طریقے سے ان لوگوں کی درجہ بندی کرنے کے حق میں ہیں جن کی حقیقی کلاس اکثریتی طبقے ہے کیونکہ یہ زیادہ کثرت سے ہوتے ہیں اور اس لیے مجموعی درستگی میں بہت زیادہ حصہ ڈالتے ہیں۔

met=[ metrics.recall_score, specificity_score, metrics.balanced_accuracy_score ]
calc_metrics(met, ytest, hardpredtst_tuned_thresh)



ہر بوٹ کے نمونے کا ڈیٹاسیٹ بنانا اور اس کے لیے میٹرکس کا حساب لگانا

 
 
raw_metric_samples() میں ہم درحقیقت ایک ایک کرکے متعدد نمونہ ڈیٹاسیٹس تیار کریں گے اور ہر ایک کے میٹرکس کو محفوظ کریں گے:

آپ raw_metric_samples() کو دلچسپی کے میٹرکس (یا صرف ایک میٹرک) کے ساتھ ساتھ صحیح اور پیش گوئی شدہ کلاس ڈیٹا کی فہرست دیتے ہیں، اور یہ nboots نمونہ ڈیٹاسیٹ حاصل کرتا ہے اور ہر ڈیٹاسیٹ سے صرف میٹرکس کی قدروں کے ساتھ ڈیٹا فریم لوٹاتا ہے۔ _boot_generator() کے ذریعے یہ جنریٹر کے اظہار میں ایک وقت میں one_boot() کو طلب کرتا ہے بجائے اس کے کہ تمام ڈیٹاسیٹس کو ممکنہ طور پر ایک ساتھ ذخیرہ کرنے کی بجائے۔بھاری فہرست.

7 بوٹ نمونہ ڈیٹاسیٹس پر میٹرکس دیکھیں

 
 
ہم اپنے میٹرک افعال کی فہرست بناتے ہیں اور صرف 7 نمونہ ڈیٹا سیٹس کے نتائج حاصل کرنے کے لیے raw_metric_samples() کو استعمال کرتے ہیں۔ ہم یہاں raw_metric_samples() کو سمجھنے کے لیے استعمال کر رہے ہیں — یہ ضروری نہیں ہے کہ ذیل میں ci_auto() کا استعمال کرتے ہوئے اعتماد کے وقفے حاصل کیے جائیں، حالانکہ ci_auto() کے لیے میٹرکس (یا صرف ایک میٹرک) کی فہرست بتا رہے ہیں۔ is ضروری ہے.

np.random.seed(13)
raw_metric_samples(met, ytest, hardpredtst_tuned_thresh, nboots=7).style.format('{:.2%}') #optional #style



مندرجہ بالا ہر کالم میں ایک بوٹ سیمپل ڈیٹاسیٹ (0 سے 6 نمبر) سے شمار کیے گئے میٹرکس ہوتے ہیں، لہذا بے ترتیب نمونے لینے کی وجہ سے حساب شدہ میٹرک کی قدریں مختلف ہوتی ہیں۔

حساب شدہ ڈیفالٹ کے ساتھ بوٹ ڈیٹاسیٹس کی تعداد

 
 
ہمارے نفاذ میں، بذریعہ ڈیفالٹ بوٹ ڈیٹاسیٹس کی تعداد nboots مطلوبہ اعتماد کی سطح (مثلاً 95%) سے خود بخود حساب کیا جائے گا تاکہ سفارش کو پورا کیا جا سکے۔ شمالی، کرٹس، اور شام تقسیم کے ہر دم میں بوٹ کے نتائج کی کم از کم تعداد حاصل کرنا۔ (دراصل یہ سفارش اس پر لاگو ہوتی ہے۔ p- اقدار اور اس طرح مفروضہ ٹیسٹ قبولیت کے علاقے، لیکن اعتماد کے وقفے انگوٹھے کے اصول کے طور پر استعمال کرنے والوں سے کافی ملتے جلتے ہیں۔) اگرچہ وہ مصنفین دم میں کم از کم 10 بوٹ نتائج کی تجویز کرتے ہیں، ڈیوڈسن اور میک کینن 399% اعتماد کے لیے کم از کم 95 جوتے تجویز کریں، جس کے لیے دم میں 11 جوتے درکار ہیں، اس لیے ہم یہ زیادہ قدامت پسند تجویز استعمال کرتے ہیں۔

ہم الفا کی وضاحت کرتے ہیں جو کہ 1 - اعتماد کی سطح ہے۔ مثال کے طور پر 95% اعتماد 0.95 اور الفا = 0.05 بن جاتا ہے۔ اگر آپ جوتے کی واضح تعداد بتاتے ہیں (شاید ایک چھوٹا nboots کیونکہ آپ تیز تر نتائج چاہتے ہیں) لیکن یہ آپ کے مطلوبہ الفا کے لیے کافی نہیں ہے، اس لیے بوٹس کی اس تعداد کے لیے درست اعتماد کا وقفہ حاصل کرنے کے لیے ایک اعلی الفا خود بخود منتخب ہو جائے گا۔ کم از کم 51 جوتے استعمال کیے جائیں گے کیونکہ کوئی بھی کم صرف عجیب و غریب اعتماد کی سطحوں کا درست اندازہ لگا سکتا ہے (جیسے 40% اعتماد جو 30 سے ​​وقفہ دیتا ہے۔th 70 پر صد فیصدth پرسنٹائل، جس میں وقفہ کے اندر 40% ہے لیکن اس کے باہر 60%) اور یہ واضح نہیں ہے کہ کم از کم بوٹس کی سفارش نے بھی اس طرح کے معاملے پر غور کیا ہے۔

فنکشن get_alpha_nboots() پہلے سے طے شدہ nboots کو سیٹ کرتا ہے یا مندرجہ بالا درخواست کردہ الفا اور nboots میں ترمیم کرتا ہے:

آئیے الفا کی مختلف اقدار کے لیے ڈیفالٹ nboots دکھائیں:

g = get_alpha_nboots pd.DataFrame( [ g(0.40), g(0.20, None), g(0.10), g(), g(alpha=0.02), g(alpha=0.01, nboots=None), g(0.005, nboots=None) ], columns=['alpha', 'default nboots'] ).set_index('alpha')



اگر ہم ایک واضح nboots کی درخواست کرتے ہیں تو کیا ہوتا ہے:

req=[(0.01,3000), (0.01,401), (0.01,2)]
out=[get_alpha_nboots(*args) for args in req]
mydf = lambda x: pd.DataFrame(x, columns=['alpha', 'nboots'])
pd.concat([mydf(req),mydf(out)],axis=1, keys=('Requested','Using'))



چھوٹے nboots کی قدروں نے الفا کو 0.05 اور 0.40 تک بڑھا دیا، اور nboots=2 کم از کم 51 میں تبدیل ہو جاتا ہے۔

بوٹسٹریپ نمونہ ڈیٹاسیٹس کا ہسٹوگرام صرف متوازن درستگی کے لیے اعتماد کا وقفہ دکھا رہا ہے

 
 
ایک بار پھر ہمیں ci_auto() کو استعمال کرکے نیچے اعتماد کے وقفے حاصل کرنے کے لیے ایسا کرنے کی ضرورت نہیں ہے۔

np.random.seed(13)
metric_boot_histogram (metrics.balanced_accuracy_score, ytest, hardpredtst_tuned_thresh)



اورنج لائن 89.7% کو متوازن درستگی کے اعتماد کے وقفے کی نچلی حد کے طور پر ظاہر کرتی ہے، اصل مشاہدہ شدہ متوازن درستگی = 92.4% (پوائنٹ تخمینہ) کے لیے سبز اور 94.7% کی بالائی حد کے لیے سرخ۔ (اسی تصویر اس مضمون کے اوپری حصے میں ظاہر ہوتی ہے۔)

میٹرکس کی فہرست کے لیے تمام اعتماد کے وقفوں کا حساب کیسے لگائیں۔

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

نتائج کا حساب لگائیں!

 
 
ہمیں واقعی یہ کرنے کی ضرورت ہے: ci_auto() کو درج ذیل میٹرکس کی فہرست کے ساتھ پکاریں (met اوپر تفویض کردہ) ان کے اعتماد کے وقفے حاصل کرنے کے لیے۔ فیصد فارمیٹنگ اختیاری ہے:

np.random.seed(13)
ci_auto( met, ytest, hardpredtst_tuned_thresh ).style.format('{:.2%}')



نتیجے میں اعتماد کے وقفوں کی بحث

 
 
یہاں سے کنفیوژن میٹرکس ہے۔ اصل مضمون. کلاس 0 منفی ہے (اکثریت کی کلاس) اور کلاس 1 مثبت ہے (بہت نایاب کلاس)



134/(134+14) کی واپسی (حقیقی مثبت شرح) میں اعتماد کا وقفہ سب سے وسیع ہے کیونکہ یہ ایک دو نامی تناسب ہے جس میں چھوٹی تعداد شامل ہے۔

مخصوصیت (حقیقی منفی شرح) 80,388/(80,388+4,907) ہے، جس میں بہت بڑی تعداد، اس لیے اس کا اعتماد کا وقفہ صرف [94.11% تا 94.40%] ہے۔

چونکہ متوازن درستگی کا حساب صرف یاد کرنے اور مخصوصیت کی اوسط کے طور پر کیا جاتا ہے، اس لیے اس کے اعتماد کے وقفے کی چوڑائی ان کے درمیان درمیانی ہے۔

ٹیسٹ ڈیٹا میں تغیرات، بمقابلہ ٹرین ڈیٹا میں تغیرات کی وجہ سے میٹرک پیمائش کی درستگی

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

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

انفرادی مثالوں کی آزادی

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

اس کے علاوہ آپ اس بات کو یقینی بنانا چاہتے ہیں کہ آپ کے پاس ایسے گروپ نہیں ہیں جو ٹریننگ اور ٹیسٹ سیٹ میں تقسیم ہو گئے ہوں، کیونکہ پھر ٹیسٹ سیٹ ضروری طور پر آزاد نہیں ہے اور آپ کو اوور فٹنگ کا پتہ نہیں چل سکتا ہے۔ مثال کے طور پر اگر آپ اوور سیمپلنگ استعمال کرتے ہیں تو آپ کو عام طور پر صرف کرنا چاہیے۔ کے بعد اسے ٹیسٹ سیٹ سے الگ کر دیا گیا ہے، پہلے نہیں۔ اور عام طور پر آپ ٹریننگ سیٹ کو اوورسمپل کریں گے لیکن ٹیسٹ سیٹ کو نہیں، کیونکہ ٹیسٹ سیٹ کو ان مثالوں کا نمائندہ رہنا چاہیے جو ماڈل مستقبل میں تعیناتی پر دیکھے گا۔ اور کراس توثیق کے لیے آپ scikit-learn's استعمال کرنا چاہیں گے۔ model_selection.GroupKFold().

نتیجہ

 
 
یہ دیکھنے کے لیے کہ آپ کا ٹیسٹ ڈیٹا آپ کو اپنے ماڈل کی کارکردگی کی پیمائش کرنے کے قابل بناتا ہے، آپ ہمیشہ اپنے تشخیصی میٹرک کے لیے اعتماد کے وقفوں کا حساب لگا سکتے ہیں۔ میں میٹرکس کے لیے اعتماد کے وقفوں کو ظاہر کرنے کے لیے ایک اور مضمون کی منصوبہ بندی کر رہا ہوں جو امکانی پیشین گوئیوں (یا اعتماد کے اسکورز - شماریاتی اعتماد سے کوئی تعلق نہیں)، یعنی نرم درجہ بندی، جیسے لاگ نقصان یا ROC AUC، ان میٹرکس کے بجائے جو ہم نے یہاں استعمال کیے ہیں ماڈل کے لحاظ سے کلاس کا مجرد انتخاب (سخت درجہ بندی)۔ ایک ہی کوڈ دونوں کے ساتھ ساتھ رجعت کے لیے بھی کام کرتا ہے (مسلسل ہدف کے متغیر کی پیش گوئی کرنا) — آپ کو بس اسے ایک مختلف قسم کی پیشین گوئی (اور رجعت کے معاملے میں مختلف قسم کے حقیقی اہداف) کو پاس کرنا ہوگا۔

یہ jupyter نوٹ بک گیتوب میں دستیاب ہے: bootConfIntAutoV1o_standalone.ipynb

کیا یہ مضمون معلوماتی اور/یا مفید تھا؟ براہ کرم ذیل میں ایک تبصرہ پوسٹ کریں اگر آپ کے پاس اس مضمون یا اعتماد کے وقفوں، بوٹسٹریپ، بوٹس کی تعداد، اس نفاذ، ڈیٹاسیٹ، ماڈل، حد کی منتقلی، یا نتائج کے بارے میں کوئی تبصرہ یا سوالات ہیں۔

مذکورہ بالا کے علاوہ پچھلا مضمونآپ کو میری میں بھی دلچسپی ہو سکتی ہے۔ پانڈوں میں CSV فائل کو پڑھتے وقت تاریخ/تاریخ کے وقت کے کالموں کا خود بخود پتہ لگانے اور ان کے ڈیٹا ٹائپ کو سیٹ کرنے کا طریقہاگرچہ اس کا موجودہ مضمون سے براہ راست تعلق نہیں ہے۔

کچھ حقوق محفوظ ہیں۔

 
بیو: ڈیوڈ بی روزن (پی ایچ ڈی) IBM گلوبل فنانسنگ میں خودکار کریڈٹ کی منظوری کے لیے لیڈ ڈیٹا سائنٹسٹ ہیں۔ پر ڈیوڈ کی مزید تحریر تلاش کریں۔ dabruro.medium.com.

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

متعلقہ:

ماخذ: https://www.kdnuggets.com/2021/10/calculate-confidence-intervals-performance-metrics-machine-learning.html

ٹائم اسٹیمپ:

سے زیادہ KDnuggets