قبل از اینکه با مفهموم Data Mining آشنا شویم بهتر است ابتدا تعریف داده (Data) و اطلاعات (Information) را بشناسیم و پس از آن به سراغ دادهکاوی و کاربردهای آن برویم.
تفاوت داده (Data) و اطلاعات (Information) چیست؟
داده (Data) که بعضا از آن با عنوان دادهی خام نیز یاد میشود، گونهای از اطلاعات به صورت خام و دست نخورده است که میتواند بسیار درهم و حتی به صورت عادی غیر قابل استفاده باشد، مجموعهای از اعداد و ارقام درهم و شاید بدون معنای خاص میتوانند به عنوان داده در نظر گرفته شوند، اما نتایج حاصل از پردازش و تجزیه و تحلیل این دادهها به عنوان اطلاعات تلقی میشوند، حتما متوجه شدهاید که اطلاعات نیز میتوانند مجددا به عنوان دادهی ورودی سیستم مورد استفاده قرار گیرند.
بنابراین با توجه به توضیحات بالا در حالت کلی اطلاعات و ورودیهای خام را داده (Data) و نتایج حاصل از پردازش دادههای خام را اطلاعات (Information) مینامیم.
به عنوان مثال نمرات دانشجویان یک کلاس، داده و نتایج حاصل از پردازش روی این نمرات، شامل میانگین، میزان افزایش یا کاهش نمرات، نمودارها و… میتوانند به عنوان اطلاعات در نظر گرفته شوند.
داده کاوی چیست؟
به فرایند استخراج و کشف همبستگیها و الگوهای مفید از میان حجم زیادی از دادههای خام که با استفاده از الگوریتم و سازوکارهای هوشمند انجام میگیرد دیتاماینینگ یا داده کاوی میگویند، به زبان سادهتر، استخراج دانش از میان مجموعهای از دادهها را دادهکاوی مینامند.
به نقل از ویکیپدیا، دادهکاوی، به مفهوم استخراج اطلاعات نهان یا الگوها و روابط مشخص در حجم زیادی از دادهها در یک یا چند بانک اطلاعاتی بزرگ گفته میشود.
البته لازم به ذکر است، برای اینکه این الگوریتم بتواند دانش را به خوبی استخراج کند نیاز به یکسری پیشپردازش بر روی دادههای اولیه و همچنین یکسری پسپردازش بر روی اطلاعات خروجی خواهد داشت.
یک مثال عملی و جالب از فرایند دادهکاوی!
اگر از سایت اشتراک ویدئوی یوتیوب استفاده کرده باشید حتما میدانید که قبل از نمایش ویدئوی اصلی یک تبلیغ چند ثانیهای به شما نمایش داده میشود، اما آیا تا به حال به محتوای این تبلیغ دقت کردهاید؟ میدانستید اگر وارد حساب کاربری گوگل خود شده باشید، بهطور صد درصد یک تبلیغ مرتبط با علاقهی خود را مشاهده خواهید کرد؟!
به نظر شما گوگل چگونه میتواند متوجه علاقهی شما شود؟ پاسخ این سوال بسیار ساده است، گوگل شما را از خودتان نیز بهتر میشناسد!
گوگل به واسطهی موتور جستجوی خود و تاریخچهی جستجویهای شما (در صورتی که وارد حساب کاربری خود شده باشید) میتواند به سایتهایی که معمولا به آنها سر میزنید دسترسی داشته باشد، بدین ترتیب پس از گذشت مدت زمانی به علایق شما پی خواهد برد، این موارد دادههای خام و به ظاهر نامرتبطی هستند که شاید از نظر ما چندان مفید و کاربری نباشند.
اما این غول جستجو، با کمک الگوریتمهای پیشرفتهی داده کاوی خود میتواند اطلاعات بسیار با ارزشی را از انبوه دادههایی که از شما در اختیار دارد به دست آورد.
بدین ترتیب به راحتی به علایق شما پی برده و از این اطلاعات در شخصیسازی تبلیغات نمایش دادهشده به شما استفاده کند، این کار علاوهبر اینکه میتواند شما را به مشاهدهی ادامهی تبلیغات ترغیب کند، به طرز حیرتانگیزی به افزایش درآمد گوگل از نمایش تبلیغات و افزایش نرخ تبدیل آن نیز کمک خواهد کرد، این مورد به ظاهر ساده یکی از ابتداییترین کاربردهای داده کاوی بود، اما در ادامه برخی کاربردهای دیگر فرایند داده کاوی را با هم مرور میکنیم.
کاربردهای اصلی داده کاوی
همانطور که گفتیم، دادهکاوی یعنی استخراج اطلاعات مفید از مجموعهی دادههای خام و نامفهوم که این اطلاعات شامل اجزای مختلفی هستند، از جمله کاربردهای دیگر دادهکاوی عبارتند از:
- کشف الگوی میان دادهها
- پیشبینی حدودی نتایج
- بهدست آوردن اطلاعات کاربردی
- تمرکز بر روی دادههای بزرگ
بهطور کلی فرایند دادهکاوی علاوهبر اینکه به ما کمک میکند دادههای نامرتبط و بلااستفاده را از مجموعهی خود حذف کنیم، از طرفی اطلاعات بسیار مفید و کاربردی را در اختیار ما (سازمان) قرار میدهد و همچنین به فرایندهای تصمیمگیری سرعت میبخشد.
فرایند انجام Data Mining
همانگونه که در نمودار پایین مشاهده میکنید، دادهکاوی به صورت کلی و عمومی در 6 مرحلهی اصلی انجام میشود، در ابتدا دادههای مورد نیاز (دادههای هدف) جمعآوری میشوند و مورد پردازش و پاکسازی قرار میگیرند، یعنی دادههای اضافه حذف شده و تنها دادههای مورد نیاز وارد سیستم میشوند.
در مرحلهی بعدالگوی میان دادهها کشف و ارزیابی و سپس الگوریتم و متدهای Data Mining بر روی دادهها انجام خواهد شد.
در نهایت نیز اطلاعات بهدست آمده از فرایند دادهکاوی در قالب فرمتهای قابل درک برای انسان مانند نمودار، تصویر، گزارش و… ارائه شده و دانش مورد نظر که از میان انبوه دادههای خام استخراج شدهاست در اختیار سازمان قرار خواهد گرفت.
مشکلات اساسی که بر سر راه دیتاماینینگ وجود دارند
به طور کلی اکثر سیستمهای دادهکاوی با دو مشکل اساسی دستوپنجه نرم میکنند، این مشکلات عبارتند از:
- حجم بالای دادههای موجود در ورودی
- عدم اطمینان کامل به اطلاعات خروجی
برای حل مشکل اول یعنی حجم بالای دادهها میتوان از الگوریتمهای سریعتر، روشهای کاهش پیچیدگی زمانی، بهینهسازی، پردازش موازی و… استفاده کرد، همچنین میتوانیم با استفاده از روشهایی مانند نمونه گیری، گسستهسازی، کاهش ابعاد و… حجم دادههای ورودی را با توجه به نیاز دادهکاوی کاهش دهیم و یا اینکه در نهایت با استفاده از قابلیتهای ذخیره و بازیابی اطلاعات موجود در دیتابیسها از روشهای ارائهی رابطهای استفاده کنیم.
برای حل مشکل دوم یعنی عدم اطمینان کامل به اطلاعات خروجی باید ورودی خود را کنترل کنیم، در صورتی که در دادههای ورودی اطلاعات کامل نباشند، یعنی در دادهها مشخصههایی وجود داشته باشد که مقدار معتبری برای آنها درج نشده است و یا اینکه اطلاعات ناسازگار باشند (دادهها با تداخل رو به رو شده باشند) و در نتیجه مقادیر ثبتشده با مقادیر واقعی یکسان نباشند، میتواند باعث ایجاد عدم اطمینان (عدم قطعیت) در اطلاعات خروجی گردد، که راه برطرف کردن آن بررسی صحت دادههای ورودی میباشد.
برخی از پلتفرمهای مورد استفاده در فرایند دادهکاوی
دادهکاوی معمولا در سازمانهایی مانند ادارات بیمه، مراکز آموزشی بزرگ، تولید کنندگان، بانکها و سازمانهای مالی، خرده فروشیها و… کاربردهای بسیاری دارد، اکثر سازمانهای از ابزارهای زیر برای انجام فرایند دادهکاوی استفاده میکنند:
- زبان برنامهنویسی آر (R)
- زبان برنامهنویسی پایتون
- زبان برنامهنویسی متلب
- نرمافزار SPSS
- نرمافزار Weka
- نرمافزار RapidMiner
معرفی الگوریتم CRISP (کریسپ) در دادهکاوی
واژهی CRISP (کریسپ) از سرواژههای عبارت CRoss Industry Standard Process for Data Mining و به معنی فرایندهای استاندارد صنعت متقابل برای دادهکاوی در اصل یکی از روشهای تحلیلی متفاوت برای فرایند دادهکاوی است، همانگونه که در نمودار زیر مشاهده میکنید متدلوژی CRISP شامل 6 مرحلهی اصلی میشود که عبارتند از:
- فهم تجاری (Business Understanding)
- درک داده (Data Understanding)
- آمادهسازی داده (Data Preparation)
- مدلسازی (Modeling)
- ارزیابی (Evaluation)
- توسعه (Development)
فهم تجاری: شامل گردآوری موارد مورد نیاز و گفتگو با مدیران ارشد برای تعیین اهداف.
درک داده: نگاه نزدیک و بررسی دسترسی به دادهها برای فرایند دیتاماینینگ که شامل گردآوری، توصیف، کشف و تغییر کیفیت دادهها میشود.
آماده سازی داده: این مرحله یکی از مهم ترین و همچنین زمانبرترین بخشهای دادهکاوی است که شامل انتخاب، پاکسازی، ساختاربندی، و ادغام دادهها میشود.
مدل سازی: هماکنون دادهها آمادهی فرایند دادهکاویاند و نتایج راه حلهایی را برای مشکل تجاری مطرح شده نشان میدهند، تکنیکهای انتخاب مدلسازی، ایجاد یک طراحی آزمون، ساخت مدلها، و ارزیابی مدل این مرحله را میسازند.
ارزیابی: در این مرحله نتایج ارزیابی شده، فرایند انجام کار بازبینی و مراحل بعدی انجام میشوند.
توسعه: نتایج بهدست آمده توسعه یافته و برای بهبود عملکرد سازمان به کار گرفته میشوند.