আপনার ডেটা সংগ্রহ করার পরে এবং যেখানে প্রয়োজন সেখানে নমুনা নেওয়ার পর, পরবর্তী পদক্ষেপটি হল প্রশিক্ষণ সেট , বৈধতা সেট এবং টেস্টিং সেটগুলিতে আপনার ডেটা বিভক্ত করা।
যখন র্যান্ডম স্প্লিটিং সেরা পদ্ধতি নয়
যদিও এলোমেলো বিভাজন অনেক ML সমস্যার জন্য সর্বোত্তম পদ্ধতি, এটি সর্বদা সঠিক সমাধান নয়। উদাহরণস্বরূপ, ডেটা সেটগুলি বিবেচনা করুন যেখানে উদাহরণগুলি স্বাভাবিকভাবে অনুরূপ উদাহরণগুলিতে ক্লাস্টার করা হয়৷
ধরুন আপনি আপনার মডেল একটি সংবাদ নিবন্ধের পাঠ্য থেকে বিষয় শ্রেণীবদ্ধ করতে চান. কেন একটি র্যান্ডম বিভাজন সমস্যাযুক্ত হবে?
চিত্র 1. সংবাদ গল্পগুলি ক্লাস্টার করা হয়৷
খবরের গল্পগুলি ক্লাস্টারে উপস্থিত হয়: একই বিষয়ে একাধিক গল্প একই সময়ে প্রকাশিত হয়। যদি আমরা এলোমেলোভাবে ডেটা বিভক্ত করি, তাই, পরীক্ষার সেট এবং প্রশিক্ষণ সেটে সম্ভবত একই গল্প থাকবে। বাস্তবে, এটি এইভাবে কাজ করবে না কারণ সমস্ত গল্প একই সময়ে আসবে, তাই এভাবে বিভক্ত করলে তির্যক সৃষ্টি হবে।
চিত্র 2. একটি এলোমেলো বিভাজন সেট জুড়ে একটি ক্লাস্টারকে বিভক্ত করবে, যার ফলে তির্যক হবে।
এই সমস্যাটি সমাধান করার একটি সহজ পদ্ধতি হল গল্পটি কখন প্রকাশিত হয়েছিল তার উপর ভিত্তি করে আমাদের ডেটা বিভক্ত করা হবে, সম্ভবত দিনে গল্পটি প্রকাশিত হয়েছিল। এর ফলে একই দিনের গল্পগুলি একই বিভাজনে স্থাপন করা হয়।
চিত্র 3. সময়মতো বিভক্ত করা ক্লাস্টারগুলিকে বেশিরভাগই একই সেটে শেষ করতে দেয়।
কয়েক হাজার বা তার বেশি খবরের সাথে, একটি শতাংশ সারা দিন জুড়ে বিভক্ত হতে পারে। এটা ঠিক আছে, যদিও; বাস্তবে এই গল্পগুলি সংবাদ চক্রের দুই দিনের মধ্যে বিভক্ত ছিল। বিকল্পভাবে, আপনার কোনো ওভারল্যাপ নেই তা নিশ্চিত করতে আপনি আপনার কাটঅফের একটি নির্দিষ্ট দূরত্বের মধ্যে ডেটা ফেলে দিতে পারেন। উদাহরণস্বরূপ, আপনি এপ্রিল মাসের গল্পের উপর প্রশিক্ষণ নিতে পারেন, এবং তারপর মে মাসের দ্বিতীয় সপ্তাহটিকে পরীক্ষার সেট হিসাবে ব্যবহার করতে পারেন, সপ্তাহের ব্যবধান ওভারল্যাপ প্রতিরোধ করে।