একটি স্বয়ংক্রিয় বুটস্ট্র্যাপ পদ্ধতি ব্যবহার করে মেশিন লার্নিং-এ পারফরম্যান্স মেট্রিক্সের জন্য আত্মবিশ্বাসের ব্যবধান কীভাবে গণনা করা যায়

উত্স নোড: 1178501

একটি স্বয়ংক্রিয় বুটস্ট্র্যাপ পদ্ধতি ব্যবহার করে মেশিন লার্নিং-এ পারফরম্যান্স মেট্রিক্সের জন্য আত্মবিশ্বাসের ব্যবধান কীভাবে গণনা করা যায়

আপনার মডেলের কর্মক্ষমতা পরিমাপ কি একটি "বড়" পরীক্ষার সেটের কারণে খুব সুনির্দিষ্ট, বা "ছোট" বা ভারসাম্যহীন পরীক্ষার সেটের কারণে খুব অনিশ্চিত?


By ডেভিড বি রোজেন (পিএইচডি), IBM গ্লোবাল ফাইন্যান্সিং-এ স্বয়ংক্রিয় ক্রেডিট অনুমোদনের জন্য লিড ডেটা সায়েন্টিস্ট



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

ভূমিকা

 
 
আপনি যদি আপনার ক্লাসিফায়ারের পারফরম্যান্সকে একটি টেস্ট সেটে Accuracy=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[১৪] থেকে X[975]।

অবশ্যই আপনি ধাপ 2-এ প্রতিটি নমুনা ডেটাসেটের জন্য আপনার পছন্দ অনুযায়ী অনেক মেট্রিক গণনা করতে পারেন, কিন্তু ধাপ 3-এ আপনি প্রতিটি মেট্রিকের জন্য আলাদাভাবে শতাংশ খুঁজে পাবেন।

উদাহরণ ডেটাসেট এবং আত্মবিশ্বাসের ব্যবধানের ফলাফল

 
 
আমরা একটি উদাহরণ হিসাবে এই পূর্ববর্তী নিবন্ধ থেকে ফলাফল ব্যবহার করব: ডাটা পুন Re ব্যালেন্স না করে কিভাবে ভারসাম্যহীন শ্রেণীবিভাগের সাথে মোকাবিলা করতে হয়আপনার তির্যক ডেটার ওভারস্যাম্পলিং বিবেচনা করার আগে, আপনার শ্রেণীবিভাগের সিদ্ধান্তের থ্রেশহোল্ড সামঞ্জস্য করার চেষ্টা করুন.

যে নিবন্ধে আমরা ব্যবহার অত্যন্তভারসাম্যহীন দুই শ্রেণীর কাগল ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণ ডেটা সেট. আমরা ডিফল্ট 0.5 থ্রেশহোল্ড থেকে বেশ ভিন্ন একটি শ্রেণিবিন্যাস থ্রেশহোল্ড ব্যবহার করতে বেছে নিয়েছি যা ভবিষ্যদ্বাণী() পদ্ধতি ব্যবহার করে নিহিত, ডেটা ভারসাম্যের জন্য এটি অপ্রয়োজনীয় করে তোলে। এই পদ্ধতি কখনও কখনও বলা হয় থ্রেশহোল্ড চলন্ত, যেখানে আমাদের শ্রেণীবিভাগকারী ভবিষ্যদ্বাণী দ্বারা প্রদত্ত পূর্বাভাসিত শ্রেণী সম্ভাব্যতার জন্য নির্বাচিত প্রান্তিকতা প্রয়োগ করে শ্রেণী নির্ধারণ করে_প্রোবা() পদ্ধতি।

আমরা এই নিবন্ধের (এবং কোড) সুযোগকে বাইনারি শ্রেণীবিভাগে সীমাবদ্ধ করব: ক্লাস 0 এবং 1, নিয়ম অনুসারে ক্লাস 1 হল "ইতিবাচক" শ্রেণী এবং বিশেষ করে ভারসাম্যহীন ডেটার জন্য সংখ্যালঘু শ্রেণী, যদিও কোডটি রিগ্রেশনের জন্য কাজ করা উচিত (একক অবিচ্ছিন্ন লক্ষ্য) পাশাপাশি।

একটি বুট নমুনা ডেটাসেট তৈরি করা হচ্ছে

 
 
যদিও আমাদের আত্মবিশ্বাসের ব্যবধান কোড মেট্রিক ফাংশনে পাস করার জন্য বিভিন্ন সংখ্যক ডেটা আর্গুমেন্ট পরিচালনা করতে পারে, আমরা স্কলার-স্টাইল মেট্রিক্সের উপর ফোকাস করব, যা সর্বদা দুটি ডেটা আর্গুমেন্ট গ্রহণ করে, y_true এবং y_pred, যেখানে y_pred হয় বাইনারি ক্লাসের পূর্বাভাস (0) অথবা 1), অথবা ক্রমাগত শ্রেণী-সম্ভাব্যতা বা সিদ্ধান্ত ফাংশন ভবিষ্যদ্বাণী, অথবা এমনকি ক্রমাগত রিগ্রেশন ভবিষ্যদ্বাণী যদি y_true ধারাবাহিক হয়। নিম্নলিখিত ফাংশন একটি একক বুট নমুনা ডেটাসেট তৈরি করে। এটি যেকোনো ডেটা_আর্গ গ্রহণ করে তবে আমাদের ক্ষেত্রে এই আর্গুমেন্টগুলি হবে ytest(আমাদের প্রকৃত/সত্য পরীক্ষায় লক্ষ্য মান সেট করুন পূর্ববর্তী নিবন্ধ) এবং hardpredtst_tuned_thresh (ভবিষ্যদ্বাণী করা ক্লাস)। প্রতিটি দৃষ্টান্তের জন্য সত্য বা ভবিষ্যদ্বাণী করা শ্রেণী নির্দেশ করতে উভয়টিতে শূন্য এবং এক রয়েছে।

কাস্টম মেট্রিক নির্দিষ্টতা_স্কোর() এবং ইউটিলিটি ফাংশন

 
 
আমরা নির্দিষ্টতার জন্য একটি কাস্টম মেট্রিক ফাংশন সংজ্ঞায়িত করব, যা রিকল অফ রিকলের আরেকটি নাম। নেতিবাচক ক্লাস (ক্লাস 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%]।

যেহেতু ব্যালেন্সড অ্যাকুরেসিকে রিকল এবং স্পেসিফিসিটির গড় হিসাবে গণনা করা হয়, তাই এর কনফিডেন্স ব্যবধানের প্রস্থ তাদের মধ্যে মধ্যবর্তী।

পরীক্ষার তথ্যের ভিন্নতার কারণে মেট্রিক পরিমাপের অপূর্ণতা, বনাম ট্রেনের ডেটার ভিন্নতার কারণে

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

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

স্বতন্ত্র দৃষ্টান্তের স্বাধীনতা

 
 
বুটস্ট্র্যাপ পদ্ধতি অনুমান করে যে আপনার প্রতিটি উদাহরণ (কেস, পর্যবেক্ষণ) একটি অন্তর্নিহিত জনসংখ্যা থেকে স্বাধীনভাবে আঁকা হয়েছে। যদি আপনার পরীক্ষার সেটে সারিগুলির গ্রুপ থাকে যেগুলি একে অপরের থেকে স্বাধীন নয়, উদাহরণস্বরূপ একই সত্তার বারবার পর্যবেক্ষণ যা একে অপরের সাথে সম্পর্কযুক্ত হতে পারে, বা আপনার পরীক্ষায় অন্যান্য উদাহরণ থেকে অতিরিক্ত নমুনা/প্রতিলিপি তৈরি/উত্পাদিত উদাহরণগুলি সেট, ফলাফল বৈধ নাও হতে পারে. আপনি ব্যবহার করার প্রয়োজন হতে পারে দলবদ্ধ স্যাম্পলিং, যেখানে আপনি পৃথক সারি না করে এলোমেলোভাবে সমগ্র গোষ্ঠীগুলিকে একত্রে আঁকেন, যেখানে কোনও গোষ্ঠীকে ভেঙে ফেলা বা শুধুমাত্র এটির অংশ ব্যবহার করা এড়িয়ে যান।

এছাড়াও আপনি নিশ্চিত করতে চান যে আপনার এমন কোনো গ্রুপ নেই যা প্রশিক্ষণ এবং পরীক্ষার সেট জুড়ে বিভক্ত ছিল, কারণ তখন পরীক্ষার সেটটি অগত্যা স্বাধীন নয় এবং আপনি অচেনা ওভারফিটিং পেতে পারেন। উদাহরণস্বরূপ, আপনি যদি ওভারস্যাম্পলিং ব্যবহার করেন তবে আপনার সাধারণত শুধুমাত্র করা উচিত পরে এটি পরীক্ষা সেট থেকে বিভক্ত করা হয়েছে, আগে নয়। এবং সাধারণত আপনি প্রশিক্ষণ সেটটিকে ওভারস্যাম্পেল করবেন কিন্তু টেস্ট সেট নয়, যেহেতু পরীক্ষার সেটটি অবশ্যই সেই উদাহরণগুলির প্রতিনিধিত্ব করতে হবে যা মডেলটি ভবিষ্যতে স্থাপনার সময় দেখতে পাবে। এবং ক্রস-ভ্যালিডেশনের জন্য আপনি স্কিট-লার্ন ব্যবহার করতে চান model_selection.GroupKFold().

উপসংহার

 
 
আপনি সর্বদা আপনার মূল্যায়ন মেট্রিক(গুলি) এর জন্য আত্মবিশ্বাসের ব্যবধান গণনা করতে পারেন যাতে আপনার পরীক্ষার ডেটা আপনাকে আপনার মডেলের কর্মক্ষমতা পরিমাপ করতে কতটা সুনির্দিষ্টভাবে সক্ষম করে। সম্ভাব্যতা ভবিষ্যদ্বাণী (বা আত্মবিশ্বাসের স্কোর - পরিসংখ্যানগত আত্মবিশ্বাসের সাথে কোন সম্পর্ক নেই) মূল্যায়ন করে এমন মেট্রিকগুলির জন্য আত্মবিশ্বাসের ব্যবধান প্রদর্শনের জন্য আমি আরেকটি নিবন্ধের পরিকল্পনা করছি, যেমন আমরা এখানে যে মেট্রিকগুলি ব্যবহার করেছি তার পরিবর্তে লগ লস বা ROC AUC-এর মতো নরম শ্রেণীবিভাগ মডেল দ্বারা শ্রেণির পৃথক পছন্দ (কঠিন শ্রেণিবিন্যাস)। একই কোড উভয়ের জন্য কাজ করে, সেইসাথে রিগ্রেশনের জন্য (একটি ক্রমাগত লক্ষ্য ভেরিয়েবলের ভবিষ্যদ্বাণী করা) — আপনাকে কেবল এটিকে একটি ভিন্ন ধরনের ভবিষ্যদ্বাণী পাস করতে হবে (এবং রিগ্রেশনের ক্ষেত্রে ভিন্ন ধরনের সত্যিকারের লক্ষ্যগুলি)।

এই জুপিটার নোটবুকটি গিথুবে উপলব্ধ: bootConfIntAutoV1o_standalone.ipynb

এই নিবন্ধটি তথ্যপূর্ণ এবং/অথবা দরকারী ছিল? এই নিবন্ধটি সম্পর্কে বা আত্মবিশ্বাসের ব্যবধান, বুটস্ট্র্যাপ, বুটের সংখ্যা, এই বাস্তবায়ন, ডেটাসেট, মডেল, থ্রেশহোল্ড সরানো বা ফলাফল সম্পর্কে আপনার কোনো মন্তব্য বা প্রশ্ন থাকলে নিচে একটি মন্তব্য পোস্ট করুন।

উল্লিখিত ছাড়াও পূর্ববর্তী নিবন্ধ, আপনি আমার প্রতি আগ্রহী হতে পারে কীভাবে তারিখ/তারিখের সময় কলামগুলি স্বয়ংক্রিয়ভাবে সনাক্ত করবেন এবং পান্ডাসে একটি CSV ফাইল পড়ার সময় তাদের ডেটাটাইপ সেট করবেনযদিও এটি বর্তমান নিবন্ধের সাথে সরাসরি সম্পর্কিত নয়।

কিছু অধিকার সংরক্ষিত

 
বায়ো: ডেভিড বি রোজেন (পিএইচডি) আইবিএম গ্লোবাল ফাইন্যান্সিং-এ স্বয়ংক্রিয় ক্রেডিট অনুমোদনের জন্য লিড ডেটা সায়েন্টিস্ট। ডেভিড এর লেখা আরো খুঁজুন dabruro.medium.com.

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

সম্পর্কিত:



শীর্ষ গল্পগুলি গত 30 দিন
সবচেয়ে জনপ্রিয়
  1. একজন শিক্ষানবিস হিসেবে কীভাবে শক্তিশালী ডেটা সায়েন্স পোর্টফোলিও তৈরি করবেন
  2. ডেটা সায়েন্স এসকিউএল ইন্টারভিউ প্রশ্ন শীর্ষ প্রযুক্তি সংস্থা থেকে
  3. মেশিন লার্নিং -এ আমার পিএইচডি করার আগে আমি নয়টি সরঞ্জাম কামনা করি
  4. সম্পূর্ণ স্ট্যাক ডেটা সায়েন্সের পথ
  5. 8 ডেটা সায়েন্টিস্টদের জন্য গিট কমান্ড থাকতে হবে
সর্বাধিক ভাগ করা
  1. আপনার মেশিন লার্নিং মডেলগুলিতে দুর্বলতাগুলি কীভাবে সন্ধান করবেন
  2. সম্পূর্ণ স্ট্যাক ডেটা সায়েন্সের পথ
  3. ডাটা সায়েন্সের জন্য কোর্সেরা নিয়ে 38 টি ফ্রি কোর্স
  4. কিভাবে STEM ডিগ্রী ছাড়া ডাটা সায়েন্টিস্ট হতে হয়
  5. 20 মেশিন লার্নিং প্রকল্প যা আপনাকে নিয়োগ দেবে

সূত্র: https://www.kdnuggets.com/2021/10/calculate-confidence-intervals-performance-metrics-machine-learning.html

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

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