کاربرد الگوریتم DBSCAN در تشخیص داده‌های پَرت (Outliers)

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

ادامه خواندن “کاربرد الگوریتم DBSCAN در تشخیص داده‌های پَرت (Outliers)”

الگوریتم جنگل ایزوله (Isolation Forest) جهت تشخیص داده‌های پرت

ایده‌ی جنگل، در بین الگوریتم‌های داده‌کاوی و یادگیری‌ماشین ایده‌ی مرسومی است. برای مثال الگوریتمِ جنگلِ تصادفی (Random Forest) را از دوره‌ی الگوریتم‌های طبقه‌بندی به یاد بیاورید. ایده‌ی اصلی در الگوریتم‌هایی که با نام جنگل شناخته می‌شوند این است که این الگوریتم‌ها از تعدادی درخت (مانند درختِ تصمیم-Decision Tree) استفاده می‌کنند و با کمکِ این درختان به یک جمع‌بندیِ کلی می‌رسند. در الگوریتمِ جنگلِ تصادفی، دیدیم که این ایده‌ی کلی، به این صورت بود که می‌توانست طبقه‌بندی (Classification) را بر روی مجموعه‌ی داده انجام دهد.

ادامه خواندن “الگوریتم جنگل ایزوله (Isolation Forest) جهت تشخیص داده‌های پرت”

محاسبه‌ی داده‌های پَرت با استفاده از z-score

در درسِ گذشته در مورد تِست‌های آماری و ایده‌ی کلیِ آن‌ها در تشخیصِ داده‌های پَرت سخن گفتیم. به صورت خلاصه گفتیم این تست‌های آماری (Statistical Tests) فرض می‌کنند داده‌ها از یک توزیعِ احتمالی-مثلا یک الگوی مشخص مانند گوسی- پیروی کرده و سپس آن داده‌هایی را که از این الگو (توزیعِ احتمالی) پیروی نکنند به عنوانِ داده‌ی پَرت در نظر می‌گیرند. در این درس می‌خواهیم z-score که یکی از این روش‌ها است-و به نظر معروف‌ترین روش هم می‌رسد- را با یکدیگر یاد بگیریم.

ادامه خواندن “محاسبه‌ی داده‌های پَرت با استفاده از z-score”

تست‌های آماری (Statistical Test) جهت تشخیص داده‌های پرت

تست‌های آماری، از ساده‌ترین و در عین حال پرکاربردترین آزمایشات، جهت تشخیصِ یک داده‌ی پَرت می‌باشد. فرض کنید شما معلم هستید و معمولاً انتظار دارید ۵۰درصد دانشجویان در یکی از کلاس‌هایتان نمره‌ی بالای ۱۵ بگیرند، ۴۰درصد از آن‌ها نمره‌ای بین ۱۲ تا ۱۵ گرفته و ۱۰درصد آن‌ها هم نمره‌ای بین ۱۰ تا ۱۲ بگیرند. پس در واقع شما انتظار ندارید که دانش‌آموزی، مثلاً نمره‌ی ۳از شما گرفته باشد. اگر چنین باشد، انتظارِ شما برآورده نشده و این دانش‌آموز یک نمره‌ی غیر طبیعی به دست آورده است و بایستی بررسی شود که چرا این نمره را آورده است. در واقع این دانش‌آموز این‌جا یک داده‌ی پَرت بوده است زیرا انتظار شما را برآورده نکرده است.

ادامه خواندن “تست‌های آماری (Statistical Test) جهت تشخیص داده‌های پرت”

کاربرد یافتن داده‌های پرت (Outlier Detection) در داده‌کاوی

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

 

ادامه خواندن “کاربرد یافتن داده‌های پرت (Outlier Detection) در داده‌کاوی”

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

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

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

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

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

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

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

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

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

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

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

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

منظور از متغیر وابسته (Dependent) و مستقل (Independent)

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

ادامه خواندن “منظور از متغیر وابسته (Dependent) و مستقل (Independent)”