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

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

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

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

دوره‌ها:
cafetadris.com/datascience
Download Telegram
👨‍🎓 پیش پردازش داده: مدیریت حافظه

🔵 استفاده از نمونه‌گیری (Sampling)

یکی از چالش‌های مهم در پیش‌پردازش داده‌ها، مدیریت حافظه است و ساده و مؤثرترین روش برای کاهش استفاده از حافظه، استفاده از نمونه‌گیری از داده‌هاست. به جای استفاده از تمام داده‌ها، میشه نمونه‌ای کوچک‌تر اما نماینده از کل داده‌ها رو انتخاب کرد. این کار باعث کاهش حجم داده‌ها و در نتیجه کاهش مصرف حافظه می‌شه.

🔵نمونه‌گیری تصادفی (Random Sampling): انتخاب تصادفی نمونه‌ها از کل داده‌ها.
🔵نمونه‌گیری لایه‌ای (Stratified Sampling): انتخاب نمونه‌ها به گونه‌ای که توزیع ویژگی‌های مختلف در نمونه‌ها مشابه با توزیع کل داده‌ها باشه.

🔵 استفاده از نوع داده‌های مناسب

نوع داده‌ها تأثیر زیادی روی میزان حافظه مورد نیاز داره. برای مثال، استفاده از نوع داده‌های عدد صحیح (Integer) به جای نوع داده‌های اعشاری (Float) باعث کاهش مصرف حافظه میشه. همچنین، استفاده از نوع داده‌های کوچک‌تر (مثلاً int32 به جای int64) هم می‌تونه مفید باشه.

🔵تبدیل نوع داده‌ها (Type Conversion): تبدیل داده‌ها به نوع‌های مناسب‌تر با استفاده از کتابخانه‌هایی مثل NumPy و Pandas.
🔵استفاده از نوع‌های داده کارآمد (Efficient Data Types): استفاده از نوع‌های داده‌ای که فضای کمتری رو اشغال می‌کنن.

🔵 پردازش داده‌ها به صورت دسته‌ای (Batch Processing)

به جای بارگذاری و پردازش تمام داده‌ها به صورت یکجا، میشه داده‌ها رو به دسته‌های کوچک‌تر تقسیم کرد و هر دسته رو جداگانه پردازش کرد. این کار باعث کاهش بار حافظه و افزایش کارایی سیستم می‌شه.

🔵استفاده از کتابخانه‌های پردازش دسته‌ای: استفاده از ابزارها و کتابخانه‌هایی مثل Dask و Vaex که به طور خاص برای پردازش داده‌های بزرگ طراحی شدن.
🔵ایجاد حلقه‌های پردازش دسته‌ای: نوشتن حلقه‌هایی که داده‌ها رو به صورت دسته‌ای بارگذاری و پردازش می‌کنن.
🔵فشرده‌سازی با اتلاف (Lossy Compression): استفاده از الگوریتم‌هایی که با حذف برخی از جزئیات، حجم داده‌ها رو کاهش می‌دن (مثلاً در فشرده‌سازی تصاویر).

🔵 استفاده از ابزارهای مدیریت حافظه

ابزارها و کتابخانه‌های مختلفی برای مدیریت حافظه در فرآیند پیش‌پردازش داده‌ها وجود دارن که به بهبود کارایی و کاهش مصرف حافظه کمک می‌کنن.

🔵یکی از پرکاربردترین کتابخانه‌ها برای پردازش داده‌ها در پایتون Pandas هست که ابزارهای بسیاری برای بهینه‌سازی مصرف حافظه داره.
🔵کتابخانه قدرتمند Dask برای پردازش داده‌های بزرگ امکان پردازش موازی و دسته‌ای رو فراهم می‌کنه.
🔵کتابخانه Vaex برای پردازش و تجزیه و تحلیل داده‌های بزرگ به حافظه کمی نیاز داره.

🔵 استفاده از فایل‌های حافظه‌ مجازی (Memory-Mapped Files)

فایل‌های حافظه‌ مجازی روشی برای دسترسی به داده‌های بزرگ هستن، بدون اینکه تمام داده‌ها در حافظه RAM بارگذاری شن. این تکنیک به خصوص برای داده‌های بسیار بزرگ مفیده.

🔵استفاده از mmap در Python: استفاده از ماژول mmap در Python برای ایجاد فایل‌های حافظه‌ مجازی و دسترسی به داده‌ها بدون بارگذاری کامل‌شون در حافظه.
🔵استفاده از HDF5: یک فرمت فایل برای ذخیره داده‌های بزرگ که امکان دسترسی به بخش‌های خاصی از داده‌ها رو فراهم می‌کنه.

🔵 استفاده از پردازش توزیع شده (Distributed Processing)

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

🔵آپاچی اسپارک: یک پلتفرم پردازش توزیع شده که به طور خاص برای تحلیل داده‌های بزرگ طراحی شده. Spark امکان پردازش موازی و توزیع شده داده‌ها رو فراهم می‌کنه.
🔵هادوپ: یک چارچوب دیگه برای پردازش توزیع شده که از مدل MapReduce استفاده می‌کنه. Hadoop هم امکان پردازش و ذخیره‌سازی داده‌های بزرگ رو به صورت توزیع شده فراهم می‌کنه.

🔵 بهینه‌سازی کد

بهینه‌سازی کد شامل استفاده از الگوریتم‌ها و روش‌های کارآمدتر برای پردازش داده‌هاست.

🔵پروفایلینگ کد (Code Profiling): استفاده از ابزارهای Profiling مثل cProfile در Python برای شناسایی بخش‌های کند و پرمصرف کد و بهینه‌سازی اونها.

🔵 استفاده از ذخیره‌سازی موقت (Caching)

ذخیره‌سازی موقت داده‌ها به کاهش مصرف حافظه و افزایش سرعت پردازش کمک می‌کنه. این تکنیک به خصوص زمانی مفیده که داده‌ها چند بار قراره استفاده شن.

🔵استفاده از Cache در Pandas: استفاده از ابزارهایی مثل joblib برای ذخیره‌سازی موقت نتایج محاسباتی.
🔵استفاده از Redis: استفاده از Redis به عنوان یک پایگاه داده در حافظه برای ذخیره‌سازی موقت داده‌ها و نتایج محاسباتی.

#Data_Analysis
#Data_Preprocessing

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
🎞 بهینه کردن زمان اجرا و حافظه دیتافریم‌

برای مدیریت زمان اجرای مدل‌های ماشین لرنینگ یا آنالیز داده و برای بهینه‌سازی حافظه مورد استفاده هر مدل، تکنیک‌های ساده ای وجود داره که کمک می‌کنه دیتاست یا دیتافریم‌مون رو بهینه ذخیره کنیم.

تو این ویدئو این کار رو که عموما Type Casting هست با پکیج Pandas انجام دادیم. به این ترتیب نشون دادیم که چطور حافظ و زمان رو با تغییرات ساده می‌تونیم مهندسی کنیم. این کار کمک بزرگی به مدیریت منابع میکنه.

👉📎 https://youtu.be/T5NHXA9m6UE

#YouTube
#Data_Analysis
#Data_Preprocessing

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍🎓 پیش پردازش داده: مدیریت داده‌های پرت

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

🔵 چرا مدیریت داده‌های پرت مهمه؟

مدیریت داده‌های پرت اهمیت زیادی در پیش‌پردازش داده‌ها داره چون این داده‌ها می‌تونن تاثیر زیادی روی نتایج تحلیل‌ها و مدل‌های یادگیری ماشین داشته باشن.

وجود داده‌های پرت منجر به تولید نتایج نادرست و گمراه‌کننده میشه، چون مدل‌های یادگیری ماشین ممکنه به جای یادگیری الگوی کلی داده‌ها، به داده‌های پرت واکنش نشون بدن. بنابراین، شناسایی و مدیریت صحیح این داده‌ها اهمیت زیادی داره.

🔵 روش‌های شناسایی داده‌های پرت

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

🔵میانه و دامنه بین چارکی (IQR): در این روش، داده‌های پرت با استفاده از دامنه بین چارکی (IQR) شناسایی می‌شن. اگه داده‌ای خارج از بازه [Q1−1.5×IQR,Q3+1.5×IQR] قرار بگیره، به عنوان داده پرت شناخته می‌شه. Q1 و Q3 به ترتیب چارک اول و سوم هستن.

🔵روش‌های گرافیکی: روش‌های گرافیکی از ابزارهای بصری مثل Box Plot و Scatter Plot برای شناسایی داده‌های پرت استفاده می‌کنن. این روش‌ها به تحلیل‌گر اجازه می‌دن تا به راحتی نقاط پرت رو مشاهده کنن.

🔵روش‌های مبتنی بر یادگیری ماشین: روش‌های پیچیده‌تر شامل استفاده از الگوریتم‌های یادگیری ماشین، مثل Isolation Forest، برای شناسایی داده‌های پرت هستن.

🔵 روش‌های مدیریت داده‌های پرت

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

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

🔵تغییر مقیاس داده‌ها: در بعضی موارد، داده‌های پرت ممکنه نتیجه مقیاس‌های متفاوت باشن. استفاده از روش‌های Normalization و Standardization به کاهش تاثیر داده‌های پرت کمک می‌کنه.

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

🔵الگوریتم نزدیک‌ترین همسایه (KNN): این الگوریتم با محاسبه فاصله بین نقاط داده، داده‌های پرت رو با میانگین مقادیر نزدیک‌ترین همسایگان جایگزین می‌کنه.

🔵الگوریتم‌های خوشه‌بندی (Clustering Algorithms): الگوریتم‌هایی مثل K-Means و DBSCAN داده‌ها رو به گروه‌هایی تقسیم می‌کنن و نقاطی که به هیچ گروهی تعلق ندارن، به عنوان داده‌های پرت شناسایی می‌شن.

🔵 روش‌های مبتنی بر یادگیری عمیق

🔵شبکه‌های عصبی: به طور خاص، شبکه‌های عصبی خودرمزگذار (Autoencoder) برای یادگیری الگوی داده‌ها و شناسایی انحرافات استفاده می‌شن. داده‌هایی که با الگوهای یادگرفته شده مطابقت ندارن به عنوان داده‌های پرت شناسایی می‌شن.

🔵شبکه‌های مولد تخاصمی (GAN‌s): در GAN‌ها، یک شبکه مولد داده‌های جدید تولید می‌کنه و یک شبکه تمایزدهنده سعی می‌کنه بین داده‌های واقعی و داده‌های تولید شده تمایز قائل شه. داده‌هایی که توسط شبکه تمایزدهنده به عنوان نادرست شناسایی می‌شن می‌تونن به عنوان داده‌های پرت شناخته شن.

🔵 چالش‌ها و راهکارها

🔵چالش‌های داده‌های چندبعدی: در داده‌های چندبعدی (High-dimensional Data)، شناسایی داده‌های پرت سخته چون داده‌ها در فضای ویژگی‌های بیشتری پخش می‌شن و داده‌های پرت در تمامی ابعاد مشهود نیستن.

برای مدیریت این چالش، میشه از روش‌های کاهش ابعاد مثل تحلیل مؤلفه‌های اصلی (PCA) استفاده کرد تا داده‌ها به فضای کوچکتری نگاشت شن و داده‌های پرت بهتر شناسایی شن.

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

#Data_Analysis
#Data_Preprocessing

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 مثال عملی شناسایی و مدیریت داده‌های پرت در پایتون

برای شناسایی و مدیریت داده‌های پرت در پایتون، میشه از کتابخانه‌هایی مثل Pandas، NumPy و Scikit-learn استفاده کرد. در زیر یک مثال ساده برای شناسایی داده‌های پرت با استفاده از IQR آورده شده:

import pandas as pd

# نمونه داده‌
data = {'value': [10, 12, 12, 13, 12, 15, 12, 12, 100, 12, 12, 13]}
df = pd.DataFrame(data)

# محاسبه چارک‌ها
Q1 = df['value'].quantile(0.25)
Q3 = df['value'].quantile(0.75)
IQR = Q3 - Q1

# شناسایی داده‌های پرت
outliers = df[(df['value'] < Q1 - 1.5 * IQR) | (df['value'] > Q3 + 1.5 * IQR)]
print("داده‌های پرت:")
print(outliers)

# حذف داده‌های پرت
df_cleaned = df[~((df['value'] < Q1 - 1.5 * IQR) | (df['value'] > Q3 + 1.5 * IQR))]
print("داده‌های صحیح:")
print(df_cleaned)

👇خروجی

داده‌های پرت:
value
0 10
5 15
8 100
داده‌های صحیح:
value
1 12
2 12
3 13
4 12
6 12
7 12
9 12
10 12
11 13

#Data_Analysis
#Data_Preprocessing

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍🎓 پیش پردازش داده: انتخاب ویژگی

انتخاب ویژگی به فرآیندی گفته می‌شه که در اون تعداد ویژگی‌های وارد شده به مدل کاهش پیدا می‌کنه. این کار با هدف بهبود عملکرد مدل و کاهش پیچیدگی انجام می‌شه. ویژگی‌های اضافی یا نامربوط می‌تونن باعث ایجاد نویز در داده‌ها و کاهش کارایی مدل بشن.

🔵 چرا انتخاب ویژگی مهم است؟

🔵کاهش ابعاد: کاهش تعداد ویژگی‌ها باعث کاهش پیچیدگی محاسباتی و زمان آموزش مدل می‌شن.

🔵بهبود عملکرد مدل: با حذف ویژگی‌های نامربوط یا کم‌اثر، مدل می‌تونه به شکل موثرتری الگوهای موجود در داده‌ها رو یاد بگیره.

🔵افزایش تفسیرپذیری: مدلی با تعداد کمتر ویژگی قابل تفسیرتره و می‌شه بهتر درک کرد که کدوم ویژگی‌ها بیشترین تاثیر رو دارن.

🔵جلوگیری از بیش‌برازش: ویژگی‌های اضافی باعث بیش‌برازش مدل می‌شن که در اون مدل به خوبی روی داده‌های آموزشی عمل می‌کنه ولی در تعمیم به داده‌های جدید دچار مشکل می‌شه.

🔵 روش‌های انتخاب ویژگی

🔵روش‌های فیلتری به بررسی ویژگی‌ها به صورت جداگانه و بر اساس معیارهای آماری می‌پردازن. این روش‌ها سریع و مقیاس‌پذیرن، ولی معمولاً تعاملات بین ویژگی‌ها رو نادیده می‌گیرن. بعضی از روش‌های فیلتر رایج عبارتند از:

- آزمون کای دو (Chi-Square Test): این آزمون برای ویژگی‌های Categorical استفاده می‌شه و وابستگی بین ویژگی‌ها و برچسب هدف رو اندازه‌گیری می‌کنه.
- اطلاعات متقابل (Mutual Information): این معیار میزان اطلاعات مشترک بین دو متغیر را اندازه‌گیری می‌کنه و می‌تونه برای انتخاب ویژگی‌های مرتبط با برچسب هدف مفید باشه.
- ضریب همبستگی (Correlation Coefficient): این معیار برای ویژگی‌های عددی استفاده می‌شه و نشون‌دهنده میزان ارتباط خطی بین ویژگی‌ها و برچسب هدفه.

🔵روش‌های Wrapper از مدل‌های یادگیری ماشین برای ارزیابی مجموعه‌ای از ویژگی‌ها استفاده می‌کنن. این روش‌ها دقیق‌تر از روش‌های فیلتری هستن، اما محاسباتی‌تر و زمان‌برترن. بعضی از این روش‌ها عبارتند از:

- انتخاب ویژگی به روش رو به عقب (Backward Elimination): این روش با همه ویژگی‌ها شروع می‌کنه و در هر مرحله یک ویژگی رو حذف می‌کنه که کمترین تاثیر رو بر عملکرد مدل داره.
- انتخاب ویژگی به روش پیشرو (Forward Selection): این روش با هیچ ویژگی شروع و در هر مرحله یک ویژگی رو اضافه می‌کنه که بیشترین بهبود رو در عملکرد مدل ایجاد کنه.
- انتخاب ویژگی مرحله‌ای (Stepwise Selection): این روش ترکیبی از دو روش‌ قبله که در هر مرحله می‌تونه ویژگی‌ها رو اضافه یا حذف کنه.

🔵روش‌های تعبیه‌سازی (Embedded Methods) ترکیبی از روش‌های فیلتر و پوششی هستن و در حین آموزش مدل ویژگی‌ها رو انتخاب می‌کنن. این روش‌ها تعادل خوبی بین دقت و زمان محاسباتی دارن. بعضی از روش‌های تعبیه‌سازی رایج عبارتند از:

- ریج رگرسیون (Ridge Regression): این روش از جریمه‌های L2 برای کاهش مقدار ضرایب ویژگی‌های کم‌اثر استفاده می‌کنه.
- لاسو رگرسیون (Lasso Regression): این روش از جریمه‌های L1 برای حذف کامل ویژگی‌های کم‌اثر استفاده می‌کنه.
- درخت تصمیم (Decision Tree): درخت‌های تصمیم و الگوریتم‌های مبتنی بر اونها مثل جنگل تصادفی (Random Forest) و Gradient Boosting می‌تونن به طور خودکار ویژگی‌های مهم رو انتخاب کنن.

#Data_Analysis
#Data_Preprocessing

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
تفاوت بین انتخاب ویژگی (Feature Selection) و استخراج ویژگی (Feature Extraction) چیه؟

انتخاب ویژگی و استخراج ویژگی مراحل مهمی در کاهش ابعاد هستن. این مراحل با ساده‌سازی مجموعه ویژگی‌های ورودی، راه رو برای مدل‌های یادگیری ماشین هموار می‌کنن.

🔵 انتخاب ویژگی

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

🔵روش‌های Filter: ارزیابی مستقیم ویژگی‌ها بر اساس معیارهای آماری.
🔵روش‌های Wrapper: استفاده از مدل‌های خاص برای انتخاب بهترین زیرمجموعه ویژگی‌ها.
🔵روش‌های Embedded: انتخاب ویژگی‌ها به عنوان بخشی از فرآیند آموزش مدل.

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

🔵 استخراج ویژگی

استخراج ویژگی شامل تبدیل فضای ویژگی‌های اصلی به یک فضای کاهش‌یافته ابعادیه که معمولاً با استفاده از تکنیک‌های خطی مثل تحلیل مؤلفه‌های اصلی (PCA) یا تحلیل عاملی انجام می‌شه. این کار با ایجاد مجموعه‌ای جدید از ویژگی‌ها که ترکیبات خطی از ویژگی‌های اصلی هستن، انجام می‌شه.

🔵 روش‌های ترکیبی

ترکیبی از انتخاب ویژگی و استخراج ویژگی بهترین نتایج رو به همراه داره. این روش ترکیبی معمولاً با استخراج ویژگی برای کاهش ابعاد شروع می‌شه و بعد با انتخاب ویژگی برای انتخاب مهم‌ترین ویژگی‌ها در فضای کاهش‌یافته پیدا می‌کنه.

#Data_Analysis
#Data_Preprocessing

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍🎓 پیش پردازش داده: افزایش داده

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

🔵 چرا افزایش داده مهمه؟

🔵کاهش بیش‌برازش (Overfitting): مدل‌های یادگیری ماشین و به خصوص شبکه‌های عصبی، اگه با داده‌های محدود آموزش ببینن، ممکنه عملکرد خوبی روی داده‌های آموزشی داشته باشن ولی روی داده‌های جدید عملکرد ضعیف باشه. افزایش داده با تولید نمونه‌های جدید، از این مشکل جلوگیری می‌کنه.

🔵افزایش تنوع داده‌ها: افزایش داده باعث می‌شه که مدل با تنوع بیشتری از داده‌ها روبرو شه در نتیجه پایداری و انعطاف مدل بیشتر می‌شه.

🔵افزایش دقت مدل: با افزایش تعداد داده‌های آموزشی، مدل‌های یادگیری ماشین توانایی یادگیری بهتر الگوها و ویژگی‌های مهم رو پیدا می‌کنن در نتیجه دقت افزایش پیدا می‌کنه.

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

🔵چرخش و ترجمه (Rotation and Translation): چرخش و ترجمه از ساده‌ترین روش‌های افزایش داده هستن. در این روش، تصاویر با زوایای مختلف چرخانده و یا در محورهای مختلف جابجا می‌شن.

🔵تغییر مقیاس (Scaling): تغییر مقیاس شامل بزرگ کردن یا کوچک کردن تصاویره.

🔵تغییر شدت نور (Brightness Adjustment): در این تکنیک، شدت نور تصاویر تغییر داده می‌شه تا نمونه‌های جدیدی با روشنایی‌های متفاوت ایجاد شن.

🔵افکت‌های نویز (Noise Addition): اضافه کردن نویز به داده‌ها یکی دیگه از روش‌های افزایش داده است. این کار باعث می‌شه مدل با داده‌های نویزی مواجه شه و بتونه در شرایط نامناسب و پر نویز عملکرد خوبی داشته باشه.

🔵برش و چسباندن (Cutout): در این روش، بخش‌هایی از تصویر بریده شده و با پیکسل‌های تصادفی پر می‌شن. این کار باعث می‌شه مدل به ویژگی‌های خاصی از تصویر وابسته نشه و بتونه در مواجهه با تصاویر ناقص یا خراب، عملکرد خوبی داشته باشه.

🔵 استفاده از GANs

🔵تولید داده‌های جدید: GANs یکی از پیشرفته‌ترین تکنیک‌ها برای افزایش داده است. این شبکه‌ از دو شبکه عصبی (تولیدکننده و تمیزدهنده) تشکیل شده‌ که به صورت رقابتی کار می‌کنن تا داده‌های جدیدی رو تولید کنن که بسیار شبیه به داده‌های واقعی هستن.

🔵بهبود کیفیت داده‌ها: علاوه بر تولید داده‌های جدید، GANs با حذف نویز برای بهبود کیفیت داده‌های موجود هم استفاده می‌شه.

🔵 افزایش داده در داده‌های زمانی (Time Series Data Augmentation)

🔵جابجایی زمانی (Time Shifting): جابجایی زمانی شامل جابجا کردن سیگنال‌های زمانی به جلو یا عقب در طول زمانه. این کار به مدل کمک می‌کنه تا با داده‌های زمانی مختلف بهتر برخورد کنه.

🔵 افزایش داده در پردازش زبان طبیعی (NLP)

🔵جابجایی کلمات (Word Shuffling): در این روش، ترتیب کلمات در جملات به صورت تصادفی جابجا می‌شه. در نتیجه مدل با تنوع بیشتری از جملات و ساختارهای گرامری مواجه می‌شه.

🔵جایگزینی کلمات با مترادف‌ها (Synonym Replacement): جایگزینی کلمات با مترادف‌ها یکی از روش‌های معمول در افزایش داده‌های متنیه. این کار به مدل کمک می‌کنه تا با واژگان متنوع‌تری آشنا شه.

🔵حذف کلمات (Word Deletion): در این روش، بعضی از کلمات در جملات به صورت تصادفی حذف می‌شن تا اهمیت کلمات مختلف بهتر درک شه و در مواجهه با جملات ناقص یا دارای خطاهای تایپی عملکرد بهتری به وجود بیاد.

🔵 افزایش داده در داده‌های طبقه‌بندی (Categorical Data Augmentation)

🔵جایگزینی مقادیر (Category Swapping): در این روش، مقادیر دسته‌بندی در ستون‌های مختلف داده به صورت تصادفی جایگزین می‌شن. این کار به مدل کمک می‌کنه تا با تنوع بیشتری از مقادیر دسته‌بندی مواجه شه.

🔵ادغام دسته‌ها (Category Merging): ادغام دسته‌ها شامل ترکیب دسته‌های نادر یا کمتر شایع با دسته‌های مشابه هست تا تعداد نمونه‌های هر دسته افزایش پیدا کنه.

🔵ایجاد داده‌های مصنوعی (Synthetic Data Generation): در این روش، داده‌های مصنوعی با استفاده از مدل‌های تولیدی یا تکنیک‌های شبیه‌سازی ایجاد می‌شن.

#Data_Analysis
#Data_Preprocessing

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑‍🎓 کاربرد تقویت داده در یادگیری عمیق و بهبود عملکرد چطوره؟

تقویت داده یا Data Augmentation که در زمینه‌هایی مثل پردازش تصویر، صوت و متن کاربرد داره به مدل‌های یادگیری عمیق کمک می‌کنه تا دقت بیشتر و مقاومت زیادی دربرابر مشکلاتی مثل بیش برازش داشته باشن.

🟢برای مطالعه بیشتر کلیک کنین:

👉📎 http://ctdrs.ir/ds0255

#Data_Analysis
#Data_Preprocessing

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

🔺 آموزشی

🔵پیش پردازش داده: Data Cleaning و Data Cleansing
📎 https://t.me/data_ml/566

🔵پیش پردازش داده: نرمال‌سازی داده
📎 https://t.me/data_ml/569

🔵پیش پردازش داده: مدیریت حافظه
📎 https://t.me/data_ml/571

🔵پیش پردازش داده: مدیریت داده‌های پرت
📎 https://t.me/data_ml/575

🔵پیش پردازش داده: انتخاب ویژگی
📎 https://t.me/data_ml/578

🔵پیش پردازش داده: افزایش داده
📎 https://t.me/data_ml/581

🔺 کوئیز

🔵کوییز شماره ۱۵۷: استانداردسازی داده‌های متنی در پاکسازی داده‌ها
📎 https://t.me/data_ml/567

🔵کوییز شماره ۱۵۸: تکنیک Memory Pooling در پردازش موازی داده‌ها
📎 https://t.me/data_ml/572

🔵کوییز شماره ۱۵۹: کاهش نقاط پرت با استفاده از تبدیل‌های ریاضی
📎 https://t.me/data_ml/576

🔵کوییز شماره ۱۶۰: محاسبه اهمیت ویژگی‌ها در روش انتخاب ویژگی‌ تعبیه‌شده
📎 https://t.me/data_ml/579

🔵کوییز شماره ۱۶۱: افزایش داده و کاهش وابستگی مدل به محل قرارگیری اشیاء
📎 https://t.me/data_ml/582

🔺 نکته

🔵 بررسی پیش پردازش داده یا Data Preprocessing
📎 https://t.me/data_ml/568

🔵بهینه کردن زمان اجرا و حافظه دیتافریم‌
📎 https://t.me/data_ml/574

🔵مثال عملی شناسایی و مدیریت داده‌های پرت در پایتون
📎 https://t.me/data_ml/577

🔵تفاوت بین انتخاب ویژگی و استخراج ویژگی
📎 https://t.me/data_ml/580

🔵کاربرد تقویت داده در یادگیری عمیق و بهبود عملکرد چطوره؟
📎 https://t.me/data_ml/583

#Weekend
#Data_Analysis

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑‍🎓 راهنمای جامع تحلیل داده و تحلیلگر داده

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

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

🟢برای مطالعه بیشتر کلیک کنین:
👉📎 ctdrs.ir/ds0287

#Data_Analysis

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