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

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

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

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

دوره‌ها:
cafetadris.com/datascience
Download Telegram
👨‍🏫 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
💡 مزیت و عیب Stratified Cross-Validation

با استفاده از Stratified Cross-Validation می‌تونیم Cross-Validation رو روی دیتاست‌هایی که تعداد کلاس زیادی دارن اجرا کنیم؛ اما اعتبار سنجی متقاطع طبقه بندی شده به تغییرات کوچیک توی دیتاست حساسه و از نظر محاسباتی گرونه.

#Machine_Learning
#Cross_Validation

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

برای بررسی داده‌های سری زمانی نمی‌تونیم از K-Fold CV و Stratified CV استفاده کنیم چون حفظ ترتیب این نوع داده‌ها و نشت نکردن اطلاعات مربوط به آینده به فرآیند آموزش مدل ضروریه و این دو روش داده‌ها رو بدون توجه به ترتیب زمانی تقسیم‌بندی می‌کنن. در نتیجه روش‌هایی مثل اعتبارسنجی متقاطع سری زمانی (Time Series Cross-Validation) مطرح میشن که وابستگی زمانی رو حفظ می‌کنن.

اعتبارسنجی متقاطع سری زمانی (Time-series Cross-Validation) به بررسی داده‌هایی که بر پایه زمان ثبت شدن، می‌پردازه. این داده‌ها می‌تونن شامل دمای هوا طی چندین سال یا قیمت سهام توی بازه‌های زمانی مختلف باشن.

🔵 انواع Time-series Cross-Validation

🔵اعتبارسنجی متقاطع متوالی (Sequential Cross-Validation)

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

🔵اعتبارسنجی متقاطع با پنجره زمانی ثابت (Fixed Time Window Cross-Validation)

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

🔵اعتبارسنجی متقاطع توسعه‌یافته (Expanding Time Window Cross-Validation)

توی این روش، پنجره آموزش با گذشت زمان گسترش پیدا می‌کنه و بزرگتر میشه و توی هر دور از اعتبارسنجی، داده‌های بیشتری به مجموعه آموزش اضافه می‌شن. این روش برای مدل‌هایی که به داده‌های بیشتر برای یادگیری بهتر نیاز دارن، مناسبه و به مرور زمان، مدل تجربه بیشتری کسب می‌کنه و می‌تونه پیش‌بینی‌های دقیق‌تری ارائه بده.

#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
6👌2👨‍💻2👍1
💡کاربردهای اعتبارسنجی متقابل توی یادگیری باناظر و بدون ناظر

روش‌های اعتبارسنجی متقابل K-Fold، Stratified و TimeSeries عمدتاً توی مدل‌های یادگیری نظارت شده به کار می‌رن، چون برای ارزیابی، نیاز به داده‌های برچسب دار دارن. اما نسخه‌های تغییریافته این روش‌ها می‌تونن برای مدل‌های یادگیری بدون نظارت هم استفاده شن.

برای مثال، اعتبارسنجی متقابل K-Fold می‌تونه توی یادگیری بدون نظارت برای ارزیابی وضعیت خوشه‌بندی‌ها استفاده شه. اما روش‌های Stratified و TimeSeries به دلیل تمرکز روی حفظ تعادل کلاس‌ها یا ترتیب زمانی، بیشتر به مدل‌های نظارت شده و داده‌های برچسب‌دار وابسته هستن.

#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌6👍31👨‍💻1
👨‍🏫 بررسی اعتبارسنجی متقابل در sklearn

🔵 k-fold Cross Validation in sklearn

کلاس KFold از sklearn.model_selection برای شروع فرآیند اعتبارسنجی متقابل استفاده می‌شه. می‌تونین تعداد تقسیم‌ها (n_splits) رو مشخص کنین که به طور پیش‌فرض 5 هست و حداقل باید 2 باشه. میشه تصمیم گرفت که قبل از تقسیم داده‌ها، اونها رو بر زد (shuffle=False به طور پیش‌فرض). روش KFold به دلیل سادگی و اینکه مدل‌محور نیست، بسیار کاربردیه و برای انواع گسترده‌ای از مجموعه داده‌ها و مدل‌ها قابل استفاده‌ست. random_state کنترل کننده ترتیب شاخص‌هاست برای زمانیکه shuffle فعاله.

from sklearn.model_selection import KFold
kf = KFold(n_splits=5, shuffle=False, random_state=None)


🔵 Stratified Cross Validation in sklearn

برای مقداردهی اولیه این فرآیند از کلاس StratifiedKFold توی sklearn.model_selection استفاده میشه. مثل `KFold`، میشه تعداد تقسیم‌ها رو مشخص کرد و مقدارش حداقل باید 2 باشه. همچنین، میشه تصمیم گرفت که آیا قبل از تقسیم، داده‌ها بر زده بشن یا نه.

from sklearn.model_selection import StratifiedKFold
skf = StratifiedKFold(n_splits=5, shuffle=False, random_state=None)


🔵 Time-series Cross Validation in sklearn

برای داده‌های سری زمانی از کلاس TimeSeriesSplit توی sklearn.model_selection استفاده میشه. این کلاس به صورت ویژه برای داده‌های زمانی طراحی شده.
import numpy as np
from sklearn.model_selection import TimeSeriesSplit
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

X = np.array([[1, 2], [3, 4], [1, 2], [3, 4], [1, 2], [3, 4]])
y = np.array([1, 2, 3, 4, 5, 6])
tscv = TimeSeriesSplit(n_splits=3)
model = LinearRegression()

# TimeSeries Cross-Validation
for train_index, test_index in tscv.split(X):
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]

model.fit(X_train, y_train)
predictions = model.predict(X_test)
mse = mean_squared_error(y_test, predictions)
print(f"Train indices: {train_index}, Test indices: {test_index}, MSE: {mse}")


برای استفاده پیشرفته‌تر، sklearn قابلیت‌ cross_validate رو ارائه می‌ده که امکان ارزیابی چندین معیار رو ممکن می‌کنه و یه دیکشنری شامل زمان‌های آموزش، زمان‌های امتیازدهی و نمرات تست رو برمی‌گردونه. این تابع زمانی مفیده که بخواین یه مدل رو همزمان با استفاده از معیارهای مختلف ارزیابی کنین.

#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3👨‍💻1
👨‍🏫 روش‌های LPO و LOOCV در اعتبار سنجی متقابل

🔵 Leave-P-Out Cross-Validation (LPOCV)

در روش LPO، از مجموعه داده‌ای با N نمونه، P نمونه به صورت تصادفی حذف می‌شن و مدل روی N-P نمونه باقی‌مونده آموزش داده می‌شه و عملکرد مدل روی P نمونه حذف‌شده ارزیابی می‌شه.

🔵این روش برای داده‌هایی با تعداد نمونه‌های کم مناسبه، چون تعداد ترکیبات ممکن برای انتخاب P نمونه می‌تونه بسیار زیاد و محاسباتش سنگین باشه. مزیت اصلی LPO دقت بالا توی ارزیابی مدله، چون تمام ترکیبات ممکن نمونه‌ها بررسی می‌شن.

🔵یه مثال ساده برای LPO

فرض کنین مجموعه داده‌ای داریم با 5 نمونه (N=5) که عددهای 1 تا 5 رو نشون می‌ده. می‌خوایم LPO رو با P=2 انجام بدیم.

1. انتخاب ترکیبات P نمونه برای تست: باید همه ترکیبات ممکن 2 نمونه‌ای از 5 نمونه رو برای تست انتخاب کنیم. این ترکیبات عبارتند از: (1,2)، (1,3)، (1,4)، (1,5)، (2,3)، (2,4)، (2,5)، (3,4)، (3,5) و (4,5). پس 10 ترکیب داریم.

2. آموزش و تست مدل برای هر ترکیب: برای هر ترکیب، ما دو نمونه رو برای تست کنار می‌گذاریم و مدل رو روی 3 نمونه باقی‌مانده آموزش می‌دهیم. بعد عملکرد مدل رو روی دو نمونه حذف شده تست می‌کنیم.

- مثلاً برای ترکیب (1,2)، مدل روی نمونه‌های 3، 4، و 5 آموزش داده می‌شه و بعد عملکردش روی نمونه‌های 1 و 2 ارزیابی می‌شه.

3. محاسبه عملکرد کلی مدل: در نهایت، میانگین عملکرد مدل روی همه ترکیبات به عنوان ارزیابی کلی از دقت مدل در نظر گرفته می‌شه.

🔵 Leave-One-Out Cross-Validation (LOOCV)

روش LOOCV حالت خاصیه از LPO که در اون P برابره با 1. در نتیجه توی هر دور از اعتبارسنجی، فقط یک نمونه حذف میشه و مدل روی N-1 نمونه باقی‌مانده آموزش می‌بیند.

🔵روش LOOCV روش اطمینان می‌ده که هر نمونه دقیقاً یک بار به عنوان داده تست استفاده می‌شه و برای مجموعه داده‌های کوچیک مناسبه.
مزیت این روش اینکه نیاز به تصمیم‌گیری در مورد تعداد فولدها نداره و از داده‌ها به بهترین شکل استفاده می‌کنه. اما توی مجموعه داده‌های بزرگ بسیار زمان‌بره و گاهی اوقات می‌تونه به بیش‌برازش منجر شه، مخصوصا اگه مدل پیچیده باشه.

🔵بیایین همون مثال قبلی رو برای LOOCV تغییر بدیم

1. انتخاب تک تک نمونه‌ها برای تست: توی LOOCV، ما هر نمونه رو به نوبت به عنوان داده تست انتخاب می‌کنیم. بنابراین، پنج ترکیب داریم که هر کدوم شامل یه نمونه برای تست و 4 نمونه دیگه برای آموزشن. این ترکیبات عبارتند از: نمونه 1 برای تست و بقیه برای آموزش، نمونه 2 برای تست و بقیه برای آموزش، و همینطور تا نمونه 5.

2. آموزش و تست مدل برای هر ترکیب: برای هر ترکیب، ما یک نمونه رو برای تست کنار می‌گذاریم و مدل رو روی 4 نمونه باقی‌مانده آموزش می‌دیم. بعد عملکرد مدل رو روی نمونه حذف شده تست می‌کنیم.

مثلاً برای ترکیب اول، مدل روی نمونه‌های 2، 3، 4، و 5 آموزش داده می‌شن و عملکردش روی نمونه 1 ارزیابی می‌شه.
این فرایند برای هر کذوم از 5 ترکیب تکرار می‌شن.

3. محاسبه عملکرد کلی مدل: در نهایت، میانگین عملکرد مدل روی تمام ترکیبات به عنوان ارزیابی کلی از دقت مدل در نظر گرفته می‌شه.

#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌62👨‍💻1
💡کاربرد اعتبارسنجی متقاطع در Random Search و Grid Search

اعتبار سنجی متقابل برای ارزیابی عملکرد مدل با استفاده از ترکیب‌های مختلف از پارامترها استفاده میشه. این کار می‌تونه با استفاده از Grid Search یا Random Search ترکیب شه.

برای مثال میشه از Grid Search برای پیدا کردن بهترین ترکیب از پارامترهای مدل استفاده کرد، بعد از Cross Validation برای ارزیابی عملکرد مدل روی ترکیب‌های مختلف پارامترها استفاده کرد.

#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌6👍1👨‍💻1
پست‌های هفته‌ای که گذشت رو این‌جا پیدا کنین!

🔺 آموزشی

🔵تعریف و انواع اعتبارسنجی متقابل
👉🔗 https://t.iss.one/data_ml/117

🔵k-fold Cross-Validation
👉🔗 https://t.iss.one/data_ml/120

🔵Stratified Cross-Validation
👉🔗 https://t.iss.one/data_ml/123

🔵Time-series Cross-Validation
👉🔗 https://t.iss.one/data_ml/126

🔵بررسی اعتبارسنجی متقابل در sklearn
👉🔗 https://t.iss.one/data_ml/129

🔵روش‌های LPO و LOOCV در اعتبار سنجی متقابل
👉🔗 https://t.iss.one/data_ml/131

🔺 کوئیز

🔵کوئیز شماره ۳۳: اعتبارسنجی و بیش‌برازش
👉🔗 https://t.iss.one/data_ml/118

🔵کوئیز شماره ۳۴: مقدار k در k-fold Cross-Validation
👉🔗 https://t.iss.one/data_ml/121

🔵کوئیز شماره ۳۵: ارزیابی نتایج Stratified Cross-Validation
👉🔗 https://t.iss.one/data_ml/124

🔵کوئیز شماره ۳۶: Fixed Time Window Cross-Validation
👉🔗 https://t.iss.one/data_ml/127

🔵کوئیز شماره ۳۷: cross_val_predict توی sklearn
👉🔗 https://t.iss.one/data_ml/130

🔵کوئیز شماره ۳۸: مقدار P توی LPOCV
👉🔗 https://t.iss.one/data_ml/132

🔺 نکته

🔵معایب Cross Validation
👉🔗 https://t.iss.one/data_ml/119

🔵تفاوت بین cross_val_score و KFold
👉🔗 https://t.iss.one/data_ml/122

🔵مزیت و عیب Stratified Cross-Validation
👉🔗 https://t.iss.one/data_ml/125

🔵اعتبارسنجی متقابل و یادگیری باناظر و بدون ناظر
👉🔗 https://t.iss.one/data_ml/128

🔵کاربرد اعتبارسنجی متقاطع در Random Search و Grid Search
👉🔗 https://t.iss.one/data_ml/133

#Weekend
#Machine_Learning
#Cross_Validation

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43👏1
🟡 وبینار رایگان بررسی ماشین لرنینگ برای هر موضوع

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

🔺 سرفصل‌ها

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

📆 یکشنبه، ۱۷ دی ساعت ۱۹

🟢 رایگان ثبت‌نام کنین:‌
👉📎 https://ctdrs.ir/cr15198

@DSLanders | دی‌اس‌لندرز
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2👨‍💻1
👩‍🎓 برنامه آموزشی هفته: بیز ساده یا Naive Bayes

🟠شنبه: تعریف و انواع بیز ساده

🔵یک‌شنبه: برنولی و چند جمله ای

🟢دوشنبه: Gaussian

🔴سه‌شنبه: هایپر پارامترها

🟠چهارشنبه: کاربردها و مزایا

🔵پنج‌شنبه: بررسی مثال واقعی

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

#Machine_Learning
#Naive_Bayes

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

الگوریتم بیز ساده یه روش طبقه‌بندی مبتنی به اصل بیز هست و توی مواردی که مجموعه داده‌ها بزرگه، کاربرد داره. الگوریتم Naive Bayes فرض می‌کنه ویژگی‌های مختلف توی داده‌ها مستقل از هم دیگه هستن و توی دسته‌ی یادگیری با ناظر قرار داره.

🔵 اصل بیز

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

🔵 انواع الگوریتم بیز ساده

🔵بیز ساده گاوسی (Gaussian Naive Bayes)
توی این مدل فرض می‌شه که ویژگی‌ها دارای توزیع نرمال (گاوسی) هستن. این روش در مواقعی که ویژگی‌ها ویژگی‌های پیوسته هستن، مثل قد یا وزن، کاربرد داره.

🔵بیز ساده چندجمله‌ای (Multinomial Naive Bayes)
این الگوریتم برای متغیرهای گسسته مثل شمارش کلمات در متن به کار می‌ره و توی طبقه‌بندی متن و تحلیل احساسات بسیار محبوبه.

🔵بیز ساده برنولی (Bernoulli Naive Bayes)
مناسب برای ویژگی‌های دودویی (مثلا حضور یا عدم حضور یک ویژگی در یک نمونه). این الگوریتم در مواردی که ویژگی‌ها به صورت "بودن" یا "نبودن" هستن، مفیده.

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍3👌3
💡دوتا مدل هستن که فقط برای تسک‌های Classification کاربرد دارن: بیز ساده (Naive Bayes) و لجستیک رگرسیون (Logistic Regression)

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74👨‍💻1
👨‍🏫 Multinomial & Bernoulli Naive Bayes

🔵توزیع برنولی برای محاسبه احتمالات گسسته استفاده می‌شه و موفقیت یا شکست رو حساب می‌کنه. متغیر تصادفی توی این نوع ۰ یا ۱ هست و احتمال وقوع به صورت p یا (1-p) مشخص می‌شه. الگوریتم Bernoulli Naïve Bayes بیشتر برای تشخیص اسپم، طبقه‌بندی متن، تحلیل احساسات و تعیین وجود یا عدم وجود یک کلمه توی متن به کار می‌ره.

مزایای Bernoulli Naïve Bayes شامل سادگی، کارآمدی و دقت بالا توی مجموعه داده‌های کوچیکه. این الگوریتم به خوبی برای طبقه‌بندی متن کار می‌کنه، اما چون فرض استقلال ویژگی‌ها رو داره، ممکنه نتایج نامناسبی تولید کنه و برای مسائل چند کلاسه مناسب نیست. همچنین اگه توی کلاس‌بندی داده‌ها عدم تعادل وجود داشته باشه، دقت کلی مدل کاهش پیدا می‌کنه.

🔵بیز ساده چندجمله‌ای (Multinomial Naïve Bayes) برای طبقه‌بندی متن‌ها استفاده می‌شه، جایی که باید با داده‌های گسسته مثل شمارش کلمات توی اسناد سروکار داشته باشیم.

مزایای استفاده از Multinomial Naïve Bayes عبارتند از کارآمدی، پیاده‌سازی ساده، مقاومت در برابر ویژگی‌های غیرمرتبط و نتایج قابل تفسیر. این الگوریتم گزینه‌ای عملی برای وظایف طبقه‌بندی متن مثل تشخیص هرزنامه، تحلیل احساسات و دسته‌بندی اسناده، جایی که ویژگی‌ها اغلب بر اساس شمارش کلمات هستن.

#Machine_Learning
#Naive_Bayes

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72👌1👨‍💻1
کوئیز شماره ۳۹: توی کدوم مدل احتمال P(x_i|y) بر اساس تعداد دفعات وقوع ویژگی (x_i) توی کلاس y محاسبه می‌شه؟
Anonymous Quiz
58%
Bernoulli Naive Bayes
42%
Multinomial Naive Bayes
👍52😎2👌1