روش های آماده سازی مجموعه دادگان
آمادهسازی مجموعه دادگان (Data Preparation) مهمترین گام در هر پروژه یادگیری ماشین است – اغلب بیش از ۸۰٪ زمان یک دیتا ساینتیست صرف این مرحله میشود. روشهای گوناگونی برای آمادهسازی داده وجود دارد که بسته به نوع داده (عددی، متنی، تصویری) و الگوریتم انتخابی متفاوت است. مهمترین این روشها عبارتند از:
- پاکسازی داده (Data Cleaning): حذف یا جایگزینی مقادیر گمشده (با میانگین، میانه، یا روشهای پیشرفتهتر مانند KNN Imputer)، شناسایی و حذف دادههای پرت (Outliers) با روش Z-Score یا IQR.
- تبدیل داده (Data Transformation): نرمالسازی (Min-Max Scaling) برای بازه [0,1]، استانداردسازی (Standardization) با میانگین صفر و واریانس یک (مناسب برای الگوریتمهایی مثل SVM و PCA).
- رمزگذاری متغیرهای دستهای (Encoding): One-Hot Encoding، Label Encoding، Target Encoding.
- مهندسی ویژگی (Feature Engineering): ساخت ویژگیهای جدید از ویژگیهای موجود (مثلاً نسبت، حاصلضرب، تاریخها).
- کاهش ابعاد (Dimensionality Reduction): PCA، t-SNE، انتخاب ویژگی (Feature Selection).
در این دوره، هر کدام از این روشها را با کدنویسی عملی در پایتون و با استفاده از کتابخانههای pandas، numpy و scikit-learn آموزش میبینید تا دادههای خام را به تمیزترین و آمادهترین شکل ممکن برای مدلسازی تبدیل کنید.
معرفی چالشهای موجود در آمادهسازی مجموعه دادگان
دادههای دنیای واقعی هرگز تمیز و آماده نیستند. چالشهای موجود در آمادهسازی مجموعه دادگان میتوانند فرآیند مدلسازی را به شکست بکشانند اگر به درستی مدیریت نشوند. مهمترین این چالشها عبارتند از:
- دادههای گمشده (Missing Values): بسیاری از دیتاستها دارای سلولهای خالی هستند. حذف ساده سطرها ممکن است اطلاعات ارزشمندی را از دست بدهد. روشهای جایگزینی (Imputation) باید با دقت انتخاب شوند.
- دادههای پرت (Outliers): مقادیر بسیار دور از میانگین میتوانند مدلهای خطی را به شدت منحرف کنند. نیاز به شناسایی و تصمیمگیری (حذف، تبدیل، یا نگهداری) دارید.
- دادههای نامتوازن (Imbalanced Data): در مسائل طبقهبندی، گاهی یک کلاس بسیار کمتکرار است (مثل تشخیص تقلب – ۱٪ تقلب، ۹۹٪ عادی). این موضوع باعث میشود مدل همه چیز را کلاس اکثریت پیشبینی کند با دقت ظاهری بالا اما عملاً بیاستفاده. راهکارهایی مثل Oversampling (SMOTE) و Undersampling وجود دارد.
- نویز (Noise): خطاهای اندازهگیری، ورودی اشتباه انسانی، یا دادههای مخدوش.
- مقیاسهای متفاوت (Different Scales): اگر یک ویژگی در بازه ۰-۱ و دیگری در بازه ۰-۱۰۰۰۰ باشد، الگوریتمهای مبتنی بر فاصله (KNN، SVM) تحت تأثیر ویژگی با دامنه بزرگتر قرار میگیرند.
- ویژگیهای بیربط (Irrelevant Features): وجود ویژگیهایی که هیچ ارتباطی با هدف ندارند، باعث افزایش ابعاد و کاهش عملکرد مدل میشود.
در این بخش، شما با هر چالش و راهکارهای عملی مقابله با آن آشنا میشوید. مثالهای واقعی از دیتاستهای کثیف کارخانهها، فروشگاهها و بیمارستانها را تمیز خواهیم کرد.
معرفی روش K-Fold به همراه جداسازی بخشهای مختلف مجموعه داده جهت آموزش و ارزیابی مدل هوشمند
روش K-Fold Cross Validation (اعتبارسنجی متقابل K لايهای) یکی از مهمترین تکنیکها برای جداسازی مجموعه داده به بخشهای آموزش و ارزیابی است تا مدل هوشمند شما دچار بیشبرازش (Overfitting) نشود و عملکرد واقعی خود را نشان دهد. در این روش، کل داده به K بخش (لایه) تقریباً مساوی تقسیم میشود. سپس، K-1 بخش برای آموزش مدل و ۱ بخش باقیمانده برای تست استفاده میشود. این کار K بار تکرار میشود (هر بار یک لایه متفاوت به عنوان تست انتخاب میشود). در نهایت، میانگین دقت یا خطا در K مرحله به عنوان معیار نهایی گزارش میشود.
مراحل ساده K-Fold:
- داده را تصادفی به هم بزنید.
- به K تکه تقسیم کنید (معمولاً K=5 یا K=10).
- برای i از ۱ تا K: تکه iام را به عنوان تست و بقیه را به عنوان آموزش استفاده کنید.
- دقت را در این مرحله ذخیره کنید.۵) میانگین دقتهای K مرحله را محاسبه کنید.
جداسازی ساده (Train/Test Split) در مقابل K-Fold:
در روش ساده (مثلاً ۸۰٪ آموزش، ۲۰٪ تست)، ممکن است خوششانسی یا بدشانسی در چینش دادهها تأثیر زیادی روی نتیجه بگذارد. K-Fold با استفاده از تمام داده به عنوان تست (در ادوار مختلف) تخمین بسیار مطمئنتری از عملکرد مدل ارائه میدهد.
دیدگاه خود را بنویسید