یکی از چالشهای مهم در پیشپردازش دادهها، مدیریت حافظه است و ساده و مؤثرترین روش برای کاهش استفاده از حافظه، استفاده از نمونهگیری از دادههاست. به جای استفاده از تمام دادهها، میشه نمونهای کوچکتر اما نماینده از کل دادهها رو انتخاب کرد. این کار باعث کاهش حجم دادهها و در نتیجه کاهش مصرف حافظه میشه.
نوع دادهها تأثیر زیادی روی میزان حافظه مورد نیاز داره. برای مثال، استفاده از نوع دادههای عدد صحیح (Integer) به جای نوع دادههای اعشاری (Float) باعث کاهش مصرف حافظه میشه. همچنین، استفاده از نوع دادههای کوچکتر (مثلاً
int32
به جای int64
) هم میتونه مفید باشه.به جای بارگذاری و پردازش تمام دادهها به صورت یکجا، میشه دادهها رو به دستههای کوچکتر تقسیم کرد و هر دسته رو جداگانه پردازش کرد. این کار باعث کاهش بار حافظه و افزایش کارایی سیستم میشه.
ابزارها و کتابخانههای مختلفی برای مدیریت حافظه در فرآیند پیشپردازش دادهها وجود دارن که به بهبود کارایی و کاهش مصرف حافظه کمک میکنن.
فایلهای حافظه مجازی روشی برای دسترسی به دادههای بزرگ هستن، بدون اینکه تمام دادهها در حافظه RAM بارگذاری شن. این تکنیک به خصوص برای دادههای بسیار بزرگ مفیده.
پردازش توزیع شده امکان استفاده از چند ماشین یا هسته پردازشی برای پردازش دادهها رو فراهم میکنه. این تکنیک به خصوص برای مجموعه دادههای بزرگ که نمیتونن به طور کامل در حافظه یک ماشین قرار بگیرن، بسیار مفیده.
بهینهسازی کد شامل استفاده از الگوریتمها و روشهای کارآمدتر برای پردازش دادههاست.
ذخیرهسازی موقت دادهها به کاهش مصرف حافظه و افزایش سرعت پردازش کمک میکنه. این تکنیک به خصوص زمانی مفیده که دادهها چند بار قراره استفاده شن.
joblib
برای ذخیرهسازی موقت نتایج محاسباتی.#Data_Analysis
#Data_Preprocessing
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
برای مدیریت زمان اجرای مدلهای ماشین لرنینگ یا آنالیز داده و برای بهینهسازی حافظه مورد استفاده هر مدل، تکنیکهای ساده ای وجود داره که کمک میکنه دیتاست یا دیتافریممون رو بهینه ذخیره کنیم.
تو این ویدئو این کار رو که عموما Type Casting هست با پکیج Pandas انجام دادیم. به این ترتیب نشون دادیم که چطور حافظ و زمان رو با تغییرات ساده میتونیم مهندسی کنیم. این کار کمک بزرگی به مدیریت منابع میکنه.
#YouTube
#Data_Analysis
#Data_Preprocessing
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
پانداز - بهینه کردن زمان اجرا و حافظه دیتافریم
برای مدیریت زمان اجرای مدلهای ماشین لرنینگی یا آنالیز داده و برای بهینه مموری مورد استفاده هر مدل تکنیکهای ساده ای وجود داره که میتونیم داده ست یا دیتافریم مون رو بهینه ذخیره کنیم. تو این ویدیو این کار رو که عموما تایپ کستینگ هست با پکیج پانداز انجام دادیم.…
دادههای پرت یا Outlier به نقاط دادهای گفته میشه که به طور قابل توجهی از بقیه نقاط داده دور هستن. دادههای پرت ممکنه به دلایل مختلفی مثل خطاهای اندازهگیری، وارد کردن نادرست دادهها یا حتی تغییرات واقعی در دادهها به وجود بیاین.
مدیریت دادههای پرت اهمیت زیادی در پیشپردازش دادهها داره چون این دادهها میتونن تاثیر زیادی روی نتایج تحلیلها و مدلهای یادگیری ماشین داشته باشن.
وجود دادههای پرت منجر به تولید نتایج نادرست و گمراهکننده میشه، چون مدلهای یادگیری ماشین ممکنه به جای یادگیری الگوی کلی دادهها، به دادههای پرت واکنش نشون بدن. بنابراین، شناسایی و مدیریت صحیح این دادهها اهمیت زیادی داره.
برای مدیریت این چالش، میشه از روشهای کاهش ابعاد مثل تحلیل مؤلفههای اصلی (PCA) استفاده کرد تا دادهها به فضای کوچکتری نگاشت شن و دادههای پرت بهتر شناسایی شن.
#Data_Analysis
#Data_Preprocessing
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 مثال عملی شناسایی و مدیریت دادههای پرت در پایتون
برای شناسایی و مدیریت دادههای پرت در پایتون، میشه از کتابخانههایی مثل Pandas، NumPy و Scikit-learn استفاده کرد. در زیر یک مثال ساده برای شناسایی دادههای پرت با استفاده از IQR آورده شده:
👇 خروجی
دادههای پرت:
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 | دیتاساینس و ماشین لرنینگ
برای شناسایی و مدیریت دادههای پرت در پایتون، میشه از کتابخانههایی مثل 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): این معیار برای ویژگیهای عددی استفاده میشه و نشوندهنده میزان ارتباط خطی بین ویژگیها و برچسب هدفه.
- انتخاب ویژگی به روش رو به عقب (Backward Elimination): این روش با همه ویژگیها شروع میکنه و در هر مرحله یک ویژگی رو حذف میکنه که کمترین تاثیر رو بر عملکرد مدل داره.
- انتخاب ویژگی به روش پیشرو (Forward Selection): این روش با هیچ ویژگی شروع و در هر مرحله یک ویژگی رو اضافه میکنه که بیشترین بهبود رو در عملکرد مدل ایجاد کنه.
- انتخاب ویژگی مرحلهای (Stepwise Selection): این روش ترکیبی از دو روش قبله که در هر مرحله میتونه ویژگیها رو اضافه یا حذف کنه.
- ریج رگرسیون (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
انتخاب ویژگی و استخراج ویژگی مراحل مهمی در کاهش ابعاد هستن. این مراحل با سادهسازی مجموعه ویژگیهای ورودی، راه رو برای مدلهای یادگیری ماشین هموار میکنن.
در انتخاب ویژگی، شما یک زیرمجموعه از مهمترین ویژگیها را از فضای ویژگیهای اصلی شناسایی میکنین. این کار با استفاده از روشهای مختلفی انجام میشه مثل:
بعد از کاهش مجموعه ویژگیها، میتوانید از ویژگیهای انتخاب شده در وظایف مدلسازی استفاده کنید.
استخراج ویژگی شامل تبدیل فضای ویژگیهای اصلی به یک فضای کاهشیافته ابعادیه که معمولاً با استفاده از تکنیکهای خطی مثل تحلیل مؤلفههای اصلی (PCA) یا تحلیل عاملی انجام میشه. این کار با ایجاد مجموعهای جدید از ویژگیها که ترکیبات خطی از ویژگیهای اصلی هستن، انجام میشه.
ترکیبی از انتخاب ویژگی و استخراج ویژگی بهترین نتایج رو به همراه داره. این روش ترکیبی معمولاً با استخراج ویژگی برای کاهش ابعاد شروع میشه و بعد با انتخاب ویژگی برای انتخاب مهمترین ویژگیها در فضای کاهشیافته پیدا میکنه.
#Data_Analysis
#Data_Preprocessing
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
افزایش داده یکی از تکنیکهای پیشپردازشه که با استفاده از روشهای مختلف، دادههای جدیدی رو از دادههای اصلی تولید میکنه. این تکنیک به ویژه در مسائل پردازش تصویر و متن بسیار کاربرد داره، چون با افزایش دادهها میشه به مدلها کمک کرد تا عملکرد بهتری داشته باشن و از بیشبرازش جلوگیری کنن.
#Data_Analysis
#Data_Preprocessing
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
تقویت داده یا Data Augmentation که در زمینههایی مثل پردازش تصویر، صوت و متن کاربرد داره به مدلهای یادگیری عمیق کمک میکنه تا دقت بیشتر و مقاومت زیادی دربرابر مشکلاتی مثل بیش برازش داشته باشن.
#Data_Analysis
#Data_Preprocessing
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
#Weekend
#Data_Analysis
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
راهنمای جامع تحلیل داده و تحلیلگر داده برای ارائه اطلاعات کامل و کاربردی در زمینه تحلیل دادهها و نقش تحلیلگران داده طراحی شده.
این مطلب، بهعنوان یک منبع معتبر و جامع، به کسانی که میخوان دانششون رو در حوزه تحلیل داده و علم داده افزایش بدن و برای مصاحبههای شغلی در این زمینه آماده شن، کمک میکنه.
#Data_Analysis
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM