انتخاب نمونه (Instance Selection) در پیش پردازش داده‌ها

معمولاً در بحثِ پردازش داده‌ها و داده‌کاوی، یکی از محدودیت‌ها، محدودیت در منابع سخت افزاری است. برای مثال فرض کنید، ۵۰ گیگابایت داده در اختیار داریم ولی مقدار حافظه‌ی موقتِ (RAM) موجود، ۴ گیگابایت است. یکی از راه‌کارها، برای حل این دست مسائل، کاهش دادن داده‌ها است. در درسِ قبل دیدیم که چگونه با حذفِ یک ویژگی (یک بُعد)، حجمِ داده‌ها کاهش پیدا می‌کند. در این درس می‌خواهیم ببینیم که چگونه به جای حذفِ یک ویژگی، نمونه‌های مختلف رامی‌توان از بین داده‌ها کنار گذاشت.

ادامه خواندن “انتخاب نمونه (Instance Selection) در پیش پردازش داده‌ها”

انتخاب ویژگی (Feature Section) و کاهش ابعاد

فرض کنید مدیرِ یک مجموعه هستید و می‌خواهید با توجه به ویژگی‌های یکی از کارکنانِ خود، وظیفه‌ای را به او محول کنید (مثلاً او را مدیرِ یک پروژه کنید). ولی این شخص تا به حال پروژه‌ای برای شما انجام نداده است. برای این‌کار ویژگی‌های مختلفی از کارکنانِ قبلیِ خود را جمع‌آوری کرده و آن‌ها را در جدولی مانندِ جدول زیر رسم می‌کنید:

ادامه خواندن “انتخاب ویژگی (Feature Section) و کاهش ابعاد”

تشخیص داده‌های پرت و دارای نویز (Noise) و راه‌کار مقابله با آن‌ها

داده‌های پرت و داده‌هایی که دارای نویز (noise) هستند، در بسیاری از مجموعه‌ها، دیده می‌شوند. فرض کنید شما مدیرِ یک وب‌سایتِ فروشگاهی هستید و می‌خواهید سنِ کاربران خود را تحلیل کنید. مثلاً این‌که افراد در بازه‌ی سنیِ مختلف، بیشتر به کدام محصولات تمایل نشان می‌دهند. برای این‌کار در هنگام خرید، سنِ خریدار را از او دریافت می‌کنید. آیا مطمئن هستید که افراد معمولاً سنِ خود را در بازه‌ی ۰ تا ۱۰۰ سال وارد می‌کنند؟ برای مثال شخصی ممکن است سهواً سنِ خود را به جای ۲۵ سال، ۲۵۰ سال درج کند و یا شخصی به جای این‌که سن خود را درج کند، سهواً سالِ تولد خود را وارد نماید! به این دست از داده‌ها که معمولاً با بقیه‌ی داده‌ها ناسازگار هستند داده‌های پرت (outliers) می‌گویند و مجموعه‌ی داده را دارای نویز (noise) می‌دانند. در این درس می‌خواهیم ببینیم چه راه‌کارهایی برای مقابله با این دست از داده‌ها وجود دارد.

ادامه خواندن “تشخیص داده‌های پرت و دارای نویز (Noise) و راه‌کار مقابله با آن‌ها”

داده‌های گم‌شده (Missing Values) و راهکارهای مقابله با آن‌ها

فرض کنید مدیرِ یک اداره هستید و در روز عده‌ی کثیری از مراجعه‌کنندگان به اداره‌ی شما مراجعه می‌کنند. در این مراجعه به هر فرد یک فُرمِ دریافت مشخصات داده می‌شود و از او خواسته می‌شود تا اطلاعاتی مانند نام، جنسیت، سن، کدپستی، نامِ پدر، شماره‌ی شناسنامه، آدرس منزل، تعداد دفعات مراجعه‌ی قبلی، و دلیلِ مراجعه‌ی خود را در آن فُرم بنویسد تا بعداً عملیاتِ پردازشی بر روی داده‌ها انجام شود (مثلاً با عملیات متن‌کاوی-text mining- متوجه شوید که معمولاً مراجعه‌کنندگان به چه دلایلی به اداره مراجعه می‌کنند یا اینکه معمولاً این مراجعه‌کنندگان ساکن کدام محدوده‌ی شهر-با توجه به کدپستی- هستند). با این تفاسیر آیا تضمین می‌کنید که تمامِ مراجعه‌کنندگان، اطلاعاتِ خود را کامل وارد کنند؟ مثلاً اگر شخصی کدپستیِ خود را فراموش کرده باشد چه؟ در این‌جا طبیعتاً داده‌ها ناقص است و در واقع بعضی از داده‌ها وجود ندارند. به این دست از داده‌ها، missing values یا داده‌های گم شده یا داده‌های مفقود می‌گویند که موردِ بحثِ این درس است.

ادامه خواندن “داده‌های گم‌شده (Missing Values) و راهکارهای مقابله با آن‌ها”

تبدیل داده‌ها (Data Transformation) به فُرمت قالب فهم برای الگوریتم داده‌کاوی

اکثرِ الگوریتم‌های داده‌کاوی، نیاز دارند تا داده‌های عددی را دریافت کنند و ساختارِ یادگیریِ آن‌ها بر اساسِ یادگیری از ماتریس‌های عددی است. در درسِ طبقه‌بندی دیدید که چگونه می‌توان یک سری ویژگی را به صورت ماتریس ساخت و به الگوریتمِ طبقه‌بندی داد. اما یادمان باشد که همیشه داده‌ها به صورتِ عددی آماده نیستند و بعضاً نیاز دارند تا به فرمتِ دلخواهِ الگوریتم (یعنی همان فرمتِ ماتریسِ عددی) تبدیل شوند. این دست از داده‌ها بایستی قبل از تزریق به الگوریتم، به فُرمتِ مناسب تبدیل (transform) شوند. روش‌های تبدیل داده بسیار گسترده و متنوع است و در این درس، یکی از آن‌ها را با هم مرور می‌کنیم.

ادامه خواندن “تبدیل داده‌ها (Data Transformation) به فُرمت قالب فهم برای الگوریتم داده‌کاوی”

نرمال کردن داده‌ها (Data Normalization) و انواع آن

مسابقاتِ کشتی را تماشا کرده‌اید؟ در مسابقات کشتی هیچ‌گاه یک فرد با وزن ۹۰ کیلوگرم را با فردی با وزن ۱۲۰ کیلوگرم رو در رو نمی‌کنند. در واقع هر شخص باید در محدوده‌ی وزنِ خود کشتی بگیرد. در داده‌ها نیز شما نمی‌توانید یک مجموعه‌ی داده که مثلاً در بازه‌ی بین ۰ تا ۲۰ متغیر هستند را با مجموعه‌ی داده‌ای که در بازه‌ی بین ۰ تا ۱۰۰۰۰ قرار دارد، مقایسه کنید. در واقع این دو مجموعه‌ی داده بایستی ابتدا هم وزن شوند تا تاثیرِ یکی بیشتر از دیگر نباشد و به اصطلاح fair و منصف باشند.

ادامه خواندن “نرمال کردن داده‌ها (Data Normalization) و انواع آن”

بررسی یکپارچگی داده‌ها (Data Integrity)

فرض کنید در یک فروشگاهِ زنجیره‌ای کار می‌کنید و مسئولیتِ جمع‌آوری داده‌ها به شما مُحوّل شده است. برای سادگی فرض کنید جداولِ زیر را برای پایگاه‌داده‌ی خود دارید:

ادامه خواندن “بررسی یکپارچگی داده‌ها (Data Integrity)”

پیش پردازش داده‌ها (Data Preprocessing) چیست؟

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

ادامه خواندن “پیش پردازش داده‌ها (Data Preprocessing) چیست؟”