آموزش دیتاساینس و ماشین‌لرنینگ
1.89K subscribers
161 photos
9 videos
134 links
🔴 آموزش مباحث حوزه دیتا شامل علم داده، یادگیری ماشین و تحلیل داده (رضا شکرزاد)

🌀 کانال اخبار و منابع هوش مصنوعی:
@DSLanders

🌀 مشاوره و ارتباط مستقیم:
https://t.iss.one/dslanders_admin

یوتیوب:
Youtube.com/@RezaShokrzad

دوره‌ها:
cafetadris.com/datascience
Download Telegram
👨‍🏫 ترکیب رگولاریزاسیون L1 و L2

تکنیک ترکیب L1 Regularization و L2 Regularization، که گاهی به عنوان Elastic Net هم شناخته می‌شه، یه تکنیک پیشرفته در یادگیری ماشینه که برای جلوگیری از overfitting (بیش‌برازش) در مدل‌های پیچیده استفاده می‌شه. این روش با اضافه کردن دو جمله جریمه به تابع هزینه مدل، مزایای L1 و L2 رو ترکیب می‌کنه.

🔵جمله‌های جریمه در Elastic Net

در این روش، جمله جریمه شامل دو بخشه: یک بخش براساس L1 (مجموع مطلق ضرایب) و بخش دیگر براساس L2 (مجموع مربع ضرایب). فرمول Elastic Net ترکیبی از این دو جریمه‌ست و به این شکله:

Elastic Net = α * sum(|w|) + β * sum(w²)

در اینجا، α و β ضرایبی هستن که میزان تأثیر L1 و L2 رو تعیین می‌کنن.

🔵تأثیر Elastic Net

این تکنیک به حفظ تعادل بین ویژگی‌های با اهمیت (که L1 ممکنه حذف کنه) و جلوگیری از وابستگی شدید به ویژگی‌های خاص (مشکلی که در L2 ممکنه پیش بیاد) کمک می‌کنه. همچنین، می‌تونه در موقعیت‌هایی که ویژگی‌ها با هم همبستگی دارن، مفید باشه.

🔵نحوه انتخاب α و β

انتخاب این ضرایب باید با دقت انجام بشه. مقدارهای بالای α ممکنه باعث ایجاد Sparsity (صفر شدن بعضی ضرایب) بشه، در حالی که مقدارهای بالای β ممکنه باعث کاهش تأثیر این Sparsity بشه. تعادل بین این دو بخش برای به دست آوردن بهترین عملکرد مدل ضروریه.

🔵کاربردها و محدودیت‌ها

این تکنیک در مدل‌های پیچیده با تعداد زیادی ویژگی، به ویژه زمانی که تعدادی از ویژگی‌ها با هم همبستگی دارن، کاربرد داره. اما، تنظیم دقیق پارامترها می‌تونه چالش‌برانگیز باشه.

🔵 پارامترهای alpha و l1_ratio در کد Elastic Net

alpha = 1.0
l1_ratio = 0.5
elastic_net_reg = ElasticNet(alpha=alpha, l1_ratio=l1_ratio, random_state=42)


🔵نقش alpha: این پارامتر میزان کلی جریمه‌ای که به مدل اعمال می‌شه رو تعیین می‌کنه. هرچی alpha بزرگ‌تر باشه، جریمه بیشتری به ضرایب اعمال می‌شه و بنابراین، مدل ساده‌تر می‌شه.

انتخاب alpha = 1.0 به این معناست که جریمه‌ای متوسط به مدل اعمال شه. این مقدار معمولاً به عنوان یک نقطه شروع خوب در نظر گرفته می‌شه، اما ممکنه برای هر مجموعه داده‌ای بهینه نباشه. تنظیم دقیق alpha بر اساس داده‌ها به بهبود عملکرد مدل کمک می‌کنه.

🔵نقش l1_ratio: این پارامتر تعیین می‌کنه که چه میزان از جریمه کلی به L1 (رگرسیون لاسو) اختصاص داره و چه میزان به L2 (رگرسیون ریج).

با تنظیم l1_ratio بر روی 0.5، ما به طور مساوی جریمه رو بین L1 و L2 تقسیم می‌کنیم. این انتخاب نشون دهنده تعادل بین تأثیرات L1 و L2 هست و برای موقعیت‌هایی که هر دو نوع جریمه ممکنه مفید باشن، مناسبه.

#Machine_Learning
#Regularization

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌92🔥1👨‍💻1
کوئیز شماره ۲۹: چطور می‌تونیم بهترین ترکیب از alpha و l1_ratio رو در Elastic Net انتخاب کنیم؟
Anonymous Quiz
36%
با استفاده از آزمون و خطا
54%
با انجام Cross-Validation
4%
با انتخاب تصادفی
6%
با استفاده از فرمول‌های ریاضی مشخص
👌8😎21👏1
👨‍🏫 افزایش داده (Data Augmentation)

افزایش داده یا Data Augmentation یه تکنیک مهم برای افزایش اندازه مجموعه داده آموزشیه و با ایجاد نسخه‌های جدید و کمی متفاوت از داده‌های موجود انجام می‌شه. هدف اینکه مدل یادگیری ماشین در برابر تغییرات جزئی توی داده‌ها مقاوم‌تر شه و عملکردش بهبود پیدا کنه.

🔵 دلایل استفاده از افزایش داده

🔵بیش‌برازش یه مشکل رایج توی یادگیری ماشینه که در اون مدل داده‌های آموزشی رو بیش از حد یاد گرفته که در نتیجه توانایی تعمیم یا generalization کاهش پیدا می‌کنه. افزایش داده می‌تونه به کاهش overfitting کمک کنه چون مدل با تنوع بیشتری از داده‌ها مواجه میشه.

🔵افزایش داده می‌تونه باعث افزایش دقت مدل شه و مدل با تنوع بیشتری از داده‌ها آموزش می‌بینه. افزایش داده توی دیتاست‌هایی که کوچیک هستن بسیار می‌تونه مفید باشه.

🔵 انواع افزایش داده

🔵برای تصاویر، میشه از تکنیک‌هایی مثل چرخش، تغییر مقیاس، تغییر نور، اضافه کردن نویز و تغییر رنگ برای افزایش داده استفاده کرد.

🔵برای متن، میشه از تکنیک‌هایی مثل جایگزینی کلمات، تغییر ترتیب کلمات، اضافه کردن کلمات جدید و حذف کلمات استفاده کرد.

🔵برای داده‌های صوتی، میشه از تکنیک‌های تغییر فرکانس، تغییر تأخیر، اضافه کردن نویز و تغییر سرعت استفاده کرد.

🔵 نکات مهم افزایش داده‌ها

🔵تغییرات باید جزئی باشن و نباید باعث تغییر معنای داده شن.

🔵تغییرات باید با زمینه داده مطابقت داشته باشن. برای مثال، اگه یه تصویر از گربه داشته باشیم، چرخش تصویر باید توی محدوده‌ای باشه که هنوز گربه قابل تشخیص باشه.

🔵تغییرات باید به صورت تصادفی اعمال شن تا مدل در برابر هر نوع تغییری مقاوم باشه.

#Data_Augmentation
#Machine_Learning

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍2👌2👨‍💻2
کوئیز شماره ۳۰: کدوم کتابخونه‌ زیر برای افزایش داده (Data Augmentation) کاربرد نداره؟
Anonymous Quiz
18%
Pytorch
23%
Augmentor
23%
Albumentations
38%
NumPy
6👍2😎2
💡 تکنیک‌های پیشرفته افزایش داده

🔵با استفاده از معماری GANs میشه داده‌های مصنوعی جدید مثل تصاویر رو بدون نیاز به داده‌های اولیه تولید کرد.

🔵انتقال سبک عصبی (Neural Style Transfer) با استفاده از لایه‌های کانولوشنال تصاویر رو تجزیه می‌کنه و اجازه می‌ده تا سبک یه تصویر رو جدا کرد و به محتوای دیگه‌ای اعمال کرد.

#Data_Augmentation
#Machine_Learning

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌72👍1
👨‍🏫 انتخاب ویژگی (Feature Selection)

توی فرآیند آموزش مدل، مفهوم انتخاب ویژگی (Feature Selection) اهمیت زیادی داره. این فرآیند با انتخاب باارزش‌ترین و کارآمدترین Featureها، دقت و قابلیت تفسیرپذیری مدل‌ رو افرایش می‌ده.

🔵 توی دیتاست‌ها به طور کلی میشه ویژگی‌ها رو به سه دسته تقسیم کرد:

🔵ویژگی‌های مرتبط (Relevant Features): این ویژگی‌ها با متغیر هدف (هدف یادگیری) مرتبط هستن و توی پیش‌بینی تأثیر گذارن.

🔵ویژگی‌های غیرمرتبط (Irrelevant Features): این ویژگی‌ها هیچ تأثیری روی متغیر هدف ندارن و تنها باعث افزایش ابعاد داده‌ها می‌شن.

🔵ویژگی‌های تکراری (Redundant Features): این ویژگی‌ها اطلاعاتی مشابه با سایر ویژگی‌ها ارائه می‌دن و باعث اتلاف فضای ذخیره‌سازی و افزایش زمان پردازش می‌شن.

🔵 تقسیم بندی کلی روش‌های انتخاب ویژگی

🔵روش‌های مبتنی بر ویژگی (Feature-based Methods): این روش‌ها ویژگی‌ها رو بر اساس معیارهایی مثل Correlation Coefficient، Mutual Information و ReliefF ارزیابی و انتخاب می‌کنن.

🔵روش‌های مبتنی بر مدل (Model-based Methods): این روش‌ها الگوریتم‌های یادگیری ماشین رو برای انتخاب ویژگی‌ها استفاده می‌کنن. الگوریتم‌های مختلفی مثل درخت تصمیم، رگرسیون لجستیک و support vector machines برای این روش استفاده میشه.

#Machine_Learning
#Feature_Selection

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👌1👨‍💻1
کوئیز شماره ۳۱: تاثیر واریانس در Feature Selection

چرا حذف ویژگی‌ها با واریانس کم مهمه؟ کدوم متد در scikit-learn برای حذف ویژگی‌ها با واریانس کم استفاده می‌شه؟
Anonymous Quiz
5%
افزایش سرعت آموزش مدل، SelectKBest
21%
بهبود دقت پیش‌بینی مدل، VarianceThreshold
14%
جلوگیری از بیش‌برازش، SelectKBest
60%
همه موارد بالا، VarianceThreshold
😎53👌1
💡میشه از کلاس‌های موجود توی ماژول sklearn.feature_selection برای انتخاب ویژگی یا کاهش ابعاد استفاده کرد.

#Machine_Learning
#Feature_Selection

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73👌1
👨‍🏫 روش‌های تنظیم در راه‌حل‌های مبتنی به مدل

همونطور که توی پست‌های قبل گفتیم، روش‌های تنظیم توی یادگیری ماشین رو میشه به طور کلی به دو دسته تقسیم کرد: راهکارهای مبتنی به ویژگی‌ها و راهکارهای مبتنی به مدل. توی این پست می‌خوایم راهکارهای مبتنی به مدل رو بیشتر بررسی کنیم.

🔵درخت تصمیم: هرس کردن درخت

یکی از روش‌های تنظیم توی درخت تصمیم، هرس کردن (Pruning) درخته. هرس کردن شامل حذف بعضی از شاخه‌ها یا گره‌های درخت به منظور جلوگیری از بیش‌برازشه. یک روش متداول برای هرس کردن، کنترل عمق درخته. با محدود کردن عمق درخت، از پیچیدگی بیش از حد مدل و یادگیری جزئیات نامربوط به داده‌های آموزشی جلوگیری می‌شه.

🔵شبکه‌های عصبی: تنظیم وزن‌ها

توی شبکه‌های عصبی، یکی از روش‌های تنظیم مدل، اعمال محدودیت روی وزن‌های شبکه‌ست. این کار معمولاً از طریق اضافه کردن یه جمله تنظیم‌کننده (Regularization Term) به تابع هزینه انجام میشه که روزهای گذشته درموردشون آموزش دادیم. دو روش محبوب تنظیم وزن‌ها، L1 و L2 هستن که به ترتیب باعث ایجاد وزن‌های کمتر و محدود کردن اندازه وزن‌هاست.

🔵ماشین‌های بردار پشتیبان: انتخاب پارامتر C

توی ماشین‌های بردار پشتیبان (SVM)، پارامتر C نقش مهم تنظیم مدل رو به عهده داره. این پارامتر میزان جریمه خطاهای دسته‌بندی رو تعیین می‌کنه. مقدار کمتر C باعث می‌شه که مدل تا حدی انعطاف‌پذیر باشه و بیش‌برازش کمتری داشته باشه، در حالی که مقدار بیشتر C به مدل اجازه می‌ده که به داده‌های آموزشی بیشتر توجه کنه، اما در نتیجه ممکنه بیش‌برازش اتفاق بیوفته.

🔵رگرسیون: کاهش ویژگی‌ها

توی مدل‌های رگرسیون، گاهی اوقات کاهش تعداد ویژگی‌ها (Feature Reduction) به عنوان یک روش تنظیم مدل به کار می‌ره. این روش شامل حذف ویژگی‌های کم اهمیت یا ترکیب ویژگی‌های مرتبط باهمه تا پیچیدگی مدل کم و عملکردش روی داده‌های جدید بهتر شه.

#Machine_Learning
#Regularization

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👌21👨‍💻1
کوئیز شماره ۳۲: کدوم روش هرس به صورت رایج در الگوریتم‌های درخت تصمیم استفاده می‌شه؟
Anonymous Quiz
40%
هرس پیش‌بینی محور (Predictive Pruning)
29%
هرس پسین (Post-pruning)
25%
هرس تصادفی (Random Pruning)
5%
هرس بر اساس زمان (Time-based Pruning)
👍72🤔1
پست‌های هفته‌ای که گذشت رو این‌جا پیدا کنین!

🔺 آموزشی

🔵آشنایی با تکنیک L1 Regularization
👉🔗 https://t.iss.one/data_ml/97

🔵آشنایی با تکنیک L2 Regularization
👉🔗 https://t.iss.one/data_ml/100

🔵ترکیب رگولاریزاسیون L1 و L2
👉🔗 https://t.iss.one/data_ml/104

🔵افزایش داده (Data Augmentation)
👉🔗 https://t.iss.one/data_ml/106

🔵انتخاب ویژگی (Feature Selection)
👉🔗 https://t.iss.one/data_ml/110

🔵روش‌های تنظیم در راه‌حل‌های مبتنی به مدل
👉🔗 https://t.iss.one/data_ml/113

🔺 کوئیز

🔵کوئیز شماره ۲۷: تکنیک‌های تنظیم
👉🔗 https://t.iss.one/data_ml/98

🔵کوئیز شماره ۲۸: مقدار λ در تنظیم L2
👉🔗 https://t.iss.one/data_ml/102

🔵کوئیز شماره ۲۹: بهترین ترکیب از alpha و l1_ratio برای Elastic Net
👉🔗 https://t.iss.one/data_ml/105

🔵کوئیز شماره ۳۰: کتابخانه‌های افزایش داده
👉🔗 https://t.iss.one/data_ml/108

🔵کوئیز شماره ۳۱: تاثیر واریانس در Feature Selection
👉🔗 https://t.iss.one/data_ml/111

🔵کوئیز شماره ۳۲: روش هرس رایج در الگوریتم‌های درخت تصمیم
👉🔗 https://t.iss.one/data_ml/114
🔺 نکته

🔵تنظیم L1 و ارتباط بین ویژگی‌ها
👉🔗 https://t.iss.one/data_ml/99

🔵مقایسه تکنیک‌های تنظیم L1 و L2
👉🔗 https://t.iss.one/data_ml/103

🔵تکنیک‌های پیشرفته افزایش داده
👉🔗 https://t.iss.one/data_ml/109

🔵انتخاب ویژگی در sklearn
👉🔗 https://t.iss.one/data_ml/112

#Weekend
#Machine_Learning
#Regularization

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
4👨‍💻3👌2
👩‍🎓 برنامه آموزشی هفته: اعتبارسنجی متقابل یا Cross Validation

🟠شنبه: تعریف و انواع اعتبارسنجی متقابل

🔵یک‌شنبه: k-fold Cross Validation

🟢دوشنبه: Stratified Cross Validation

🔴سه‌شنبه: Time-series Cross Validation

🟠چهارشنبه: بررسی اعتبارسنجی متقابل در sklearn

🔵پنج‌شنبه: نکته و ترفند

🟢جمعه: جمع بندی

#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
8👌2🔥1
👨‍🏫 تعریف و انواع اعتبارسنجی متقابل

اعتبارسنجی متقابل (Cross Validation) یه روش‌ مهم برای تخمین دقت مدل‌های یادگیری ماشینه و کمک می‌کنه تا درک بهتری از این داشته باشیم که مدل چطور روی داده‌های دیده نشده عمل می‌کنه. Cross Validation برای جلوگیری از overfitting و بهبود تعمیم پذیری اهمیت زیادی داره. در ادامه انواع مختلفش رو بررسی می‌کنیم:

🔵k-fold Cross Validation

توی این روش، داده‌ها به k بخش تقسیم می‌شن. هر بخش یک بار به عنوان داده تست استفاده می‌شه و k-1 بار دیگر به عنوان داده آموزش. برای مثال اگه k=5، داده‌ها به 5 بخش تقسیم می‌شن و هر بخش یه بار به عنوان داده تست و 4 بار به عنوان داده آموزش استفاده می‌شه. این روش برای داده‌هایی با توزیع یکنواخت و زمانی که حجم داده‌ها نه خیلی کم و نه خیلی زیاده، مناسبه.

🔵Stratified Cross Validation

توی این روش، داده‌ها به نحوی تقسیم می‌شن که هر بخش توزیعی شبیه به توزیع کلی داده‌ها داره. این روش برای حفظ تناسب نمونه‌ها توی دسته‌های مختلف مفیده. یعنی تضمین می‌کنه که هر بخش از داده‌ها نماینده‌ای از کل داده‌ها باشن، مخصوصا در مورد ویژگی‌های مهم و تاثیرگذار. این روش برای داده‌های دسته‌بندی شده و زمانی که نمونه‌های مختلف در دسته‌ها به صورت نامتوازن توزیع شدن مناسبه.

🔵Time-series Cross Validation

این روش برای داده‌های سری زمانی استفاده می‌شه، جایی که ترتیب زمانی داده‌ها مهمه. توی این روش داده‌ها بر اساس ترتیب زمانی تقسیم می‌شن تا تأثیر زمان روی داده‌ها حفظ بشه و برای پیش‌بینی مالی یا هواشناسی کاربرد داره.

#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82👨‍💻1
💡معایب Cross Validation

🔵نرخ خطای متغیر

زمان استفاده از CV، نرخ خطای مجموعه اعتبارسنجی می‌تونه متغیر باشه. در نتیجه پیش‌بینی دقت مدل روی داده‌های جدید می‌تونه دقیق نباشه. این مشکل زمانی که با دیتاست نامتوازن یا محدود مواجه هستیم بیشتر نمود پیدا می‌کنه.

🔵محدودیت استفاده از کل داده‌ها در فرایند آموزش

توی هر دوره از فرایند CV، فقط بخشی از داده‌ها برای آموزش مدل به کار برده می‌شه. یعنی مدل فرصت استفاده از تمام داده‌های موجود رو نداره. این مسئله مخصوصا زمانی که داده‌ها محدود هستن، به نتایج کمتر دقیق و کاهش توانایی تعمیم‌پذیری مدل منجر میشه.

در اصل میشه گفت ویژگی‌های منحر بفرد Cross Validation در شرایطی می‌تونن جزو معایب این روش هم باشن و اینکه این روش مفید باشه یا ناکارآمد کاملا بستگی به شرایط داده‌ها داره.

#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌92👍1👨‍💻1
👨‍🏫 k-fold Cross-Validation

اعتبارسنجی متقابل k-برابر (k-fold Cross-Validation) یکی از انواع اعتبار سنجی متقابله و زمانی که مقدار داده‌های موجود محدودن، بسیار مفیده و کاربرد داره. این روش به ما امکان می‌ده تا ارزیابی دقیق‌تر و بدون سوگیری از مدل‌های پیچیده داشته باشیم و به درک بهتر از توانایی‌ها و محدودیت‌های مدل‌های مورد استفاده کمک می‌کنه.

🔵مراحل k-fold

تقسیم داده‌ها: در مرحله اول، داده‌ها به k بخش تقسیم می‌شن.
آموزش و آزمایش: برای هر تکرار، k-1 بخش برای آموزش و 1 بخش برای آزمایش استفاده می‌شه.
تکرار: این فرآیند برای هر یک از kها تکرار می‌شه.

🔵نکاتی مهم پیاده‌سازی k-fold

انتخاب مقدار k بسیار مهمه و به طور مستقیم روی عملکرد مدل تأثیر داره و معمولا از مقادیر 5 یا 10 برای k استفاده می‌شه. زمانیکه با داده‌های نامتوازن روبرو هستیم، استفاده از تکنیک‌های خاص (مثل Stratified K-Fold، Resampling، Data Augmentation) برای حفظ توازن توی هر بخش ضروریه. این روش‌ها به ما کمک می‌کنن تا یکنواختی و دقت بیشتری در طول فرایند اعتبارسنجی متقابل داشته باشیم و نتایج قابل اعتمادتری بگیریم.

🔵کاربردهای پیشرفته k-fold

استفاده از k-fold برای تنظیم پارامترهای مدل (hyperparameter tuning)، این امکان رو می‌ده که بهترین ترکیب پارامترها رو برای مدل پیدا کنیم. این کار با انجام آزمایش‌های متعدد و مقایسه نتایج حاصل از هر کدوم انجام می‌شه. همچنین، k-fold امکان مقایسه عملکرد چندین مدل مختلف رو ممکن می‌کنه که در نتیجه میشه بهینه‌ترین مدل رو انتخاب کرد.

#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥64👌2👍1
💡تفاوت بین cross_val_score و KFold

🔵یه روش تقسیم‌بندی داده‌ها برای اعتبارسنجی متقابل KFold هست. KFold فقط روش تقسیم‌بندی داده‌ها رو ارائه می‌ده و خودش هیچ محاسبه‌ای درباره مدل نمی‌کنه.

from sklearn.model_selection import KFold


🔵یه تابع کمکی که فرآیند اعتبارسنجی متقابل رو انجام می‌ده، cross_val_score هست. این تابع، داده‌ها و روش تقسیم‌بندی (مثل KFold) رو به عنوان ورودی دریافت می‌کنه و امتیاز مدل رو بر اساس اعتبارسنجی متقابل محاسبه می‌کنه.

from sklearn.model_selection import cross_val_score


#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍1👨‍💻1
👨‍🏫 Stratified Cross-Validation

اعتبار سنجی متقاطع طبقه بندی شده (Stratified Cross-Validation) روشیه که در اون داده‌ها به صورتی تقسیم می‌شن تا از توزیع یکنواخت کلاس‌ها توی هر بخش اطمینان حاصل شه. هدف از این روش، ارزیابی عملکرد مدل توی شرایطی نزدیک به داده‌های واقعی و جلوگیری از ایجاد bias ناشی از تقسیم نامناسب داده‌هاست.

🔵تفاوت اعتبارسنجی‌های Stratified و K-fold

توی K-Fold CV، داده‌ها به صورت تصادفی و بدون در نظر گرفتن توزیع کلاس‌های هدف به K گروه (Fold) تقسیم می‌شن. یعنی توی هر گروه، توزیع کلاس‌ها ممکنه با توزیع کلی کلاس‌ها توی داده‌های اصلی متفاوت باشه. در نتیجه منجر به ارزیابی‌هایی میشه که نماینده‌ی دقیق توزیع واقعی کلاس‌ها نیستن، مخصوصا اگه داده‌ها نامتوازن باشن.

توی Stratified CV توزیع کلاس‌های هدف متناسب با توزیع کلی اونها توی کل مجموعه داده‌ست. در نتیجه هر گروه نماینده‌ای واقعی‌تر از داده‌های اصلیه و اطمینان می‌ده که هر کلاس به نسبت مشابهی توی هر بخش آموزش و تست حضور داره.

🔵نکات پیشرفته Stratified Cross-Validation

این روش هم مثل K-Fold می‌تونه برای تنظیم پارامترهای مدل و پیدا کردن بهترین ترکیب پارامترها استفاده شه. با ترکیب Stratified CV با سایر روش‌ها مثل Bootstrapping دقت بیشتری توی ارزیابی‌ها حاصل میشه. Stratified CV زمان‌بره و نیاز به داده‌های با کیفیت داره.

🔵توضیحات تصویر

در سمت چپ نموداری از توزیع کلاس‌های هدف نشون داده شده که دو کلاس مرد و زن رو با نمودار میله‌ای نشون می‌ده و توی این نمودارها توزیع نامتناسب (imbalanced distribution) به وضوح دیده میشه.

در سمت راست پنج گروه از داده‌ها یا Fold وجود داره. هر Fold شامل نمونه‌هایی از داده‌هاست که در اونها توزیع کلاس‌های مرد و زن به نحویه که با توزیع کلی کلاس‌ها در داده‌های اصلی مطابقت داره و نسبت تعداد مردان به زنان نزدیک به نسبت کلی داده‌هاست.

#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62👌1