داده کاوی چیه؟
داده کاوی یه جستجو تو پایگاه های بزرگ داده ست که باعث میشه الگوها و رفتارهایی که از یه آنالیز ساده فراتره، پیدا بشن و بتونیم مسائل رو بهتر حل کنیم. Data Mining با استفاده از الگوریتمهای پیچیده ریاضی (برای تقسیم داده ها) و ارزیابی (احتمال اتفاق افتادن یه هدف در آینده)، کارش رو شروع میکنه.
خصوصیات اصلی دیتا ماینینگ یا Data Mining:
- کشف خودکار الگوها
- پیش بینی نتایج احتمالی
- ایجاد اطلاعات کاربردی
- تمرکز روی پایگاههای بزرگ داده
در کل داده کاوی میتونه به سوالاتی پاسخ بده که با پرس و جوی ساده و تکنیکهای گزارش دهی قابل حل نیستند.بهتره بدونین که به داده کاوی، کشف دانش در پایگاه داده یا KDD هم گفته میشه.
کشف خودکار Automatic discovery
اصطلاح کشف خودکار، به “اجرای” داده کاوی برمیگرده. فرآیند داده کاوی با استفاده از “مدل سازی” انجام میشه و این مدل ها هم برای کار روی یه مجموعه داده از الگوریتمهای خاص استفاده میکنن.
پیش بینی Prediction
بیشتر شکلهای داده کاوی، حالت پیش بینی دارند. مثلاً یه مدل ممکنه درآمد رو براساس آموزش و عوامل جمعیتی پیش بینی کنه!
هر پیش بینی یه درصد احتمالی رو به همراه داره، مثلاً چند درصد احتمال داره این پیش بینی درست باشه؟ که ما به این احتمالِ پیش بینی، اطمینان confidence هم میگیم! چون جملهمون ممکنه اینطوری باشه: چقدر میتونیم در مورد این پیش بینی اطمینان داشته باشم؟
بعضی از مدل های Data Mining پیش بینی ، یه سری قوانینی رو بهوجود میارن که خود این قوانین هم شرایطی رو ایجاد میکنه که به یه نتیجه معین ختم میشه! اگه بخوام با یه مثال توضیح بدم اینطوری میشه: یه قانونی رو فرض کنین که میگه اگه فلان شخص مدرک لیسانس داشته باشه و تو یه محله خاصی زندگی کنه، احتمالاََ درآمدش از میانگین درآمد اون محله فلان قدر بیشتره.
گروه بندی Grouping
شکل دیگه داده کاوی ، گروه بندی های طبیعی که تو داده ها وجود داره رو مشخص میکنه. مثلاً مشخص میکنه یه درصدی از جامعه فلان قدر درآمد دارن و از قضا رانندگیشون هم خوبه، این افراد هر سال یه ماشین جدید واسه خودشون کرایه میکنن.
اطلاعات کاربردی Actionable information
Data Mining میتونه مقدار قابل توجهی از اطلاعات کاربردی رو از یه حجم وسیع داده بهدست بیاره. اطلاعات کاربردی یعنی اطلاعات معناداری که برای تصمیم گیری یا پیدا کردن و انتخاب راه حل یه مسئله یا مشکل مورد استفاده قرار میگیرن.
داده کاوی Data mining و آمار Statistics
بین داده کاوی و آمار، اشتراک زیادی وجود داره. در واقع بیشتر تکنیکهایی که تو داده کاوی استفاده میشه رو میتونیم تو یه چارچوب آماری قرار بدیم اما با این حال تکنیکهای Data Mining مثل تکنیکهای سنتی آماری نیستند. به طور کلی روشهای سنتی آماری برای این که اعتبار و درست بودن یه مدل رو بسنجن، باید با کاربر تعامل زیادی داشته باشند و همین ویژگی باعث میشه که نتونن به صورت خودکار عمل کنن، تازه این روشها میونه خوبی با داده هایی که تو مقیاس بزرگ هستند هم ندارن و به آزمایش فرضیه یا پیداکردن همبستگی بین داده های کوچیکتری که نماینده یه داده بزرگترن، وابستهاند.
مقایسه داده کاوی با OLAP و انبار داده Data Warehouse
داده کاوی و Online Analytical Processing
پردازش تحلیلی آنلاین OLAP رو میتونیم به عنوان تجزیه و تحلیل سریع داده های چند بُعدی مشترک تعریف کنیم. OLAP و داده کاوی فعالیتهای متفاوت اما مکملی دارن.
مثلاً OLAP از فعالیتهایی مثل جمع بندی داده ، تخصیص هزینه، تجزیه و تحلیل زمان و آنالیز «حالتهای مختلف» (what-if analysis) پشتیبانی میکنه. با این حال بیشتر سیستمهای Online Analytical Processing برای پیش بینی سری های زمانی time-series ( فراتر از عمل پشتیبانی)، قدرت استتناج استقرایی ندارن.
OLAP و Data Mining میتونن به چند روش ادغام بشن. مثلاً داده کاوی میتونه برای انتخاب ابعاد یه مکعب، ایجاد مقادیر جدید برای یه بعد یا ایجاد اندازههای جدید برای اون مکعب استفاده بشه در حالی که OLAP میتونه برای تجزیه و تحلیل نتایج داده کاوی در سطوح مختلف هر جزء استفاده بشه، پس یعنی OLAP میتونه روی داده های چند بعدی عملیات تحلیل انجام بده!
داده کاوی میتونه تو ساخت مکعبهای جدید و مفید بهتون کمک کنه مثلاً نتایج داده کاوی پیش بینی (Predictive Data Mining) میتونه به عنوان اقدامات سفارشی به مکعب اضافه بشه که این اقدامات سفارشی میتونه احتمالاتی رو به مکعب اضافه کنه، حالا این یعنی چی؟ یعنی مثلاً یه اقدام جدید، احتمال خرید اون مکعب توسط هر مشتری رو به وجود میاره. بعد از این OLAP میتونه این احتمالها رو جمع بندی و خلاصه کنه!
داده کاوی و انبار داده
داده ها هرجا ذخیره شده باشن، چه تو فایلهای متنی ساده، چه تو صفحات گسترده spreadsheets ، چه تو جدولهای پایگاه داده یا بعضی از قالبهای دیگه، در هرحال میشه داده ها رو استخراج کرد. پس اهمیتِ داده تو قالب ذخیره سازی اون نیست، بلکه کاربردش در حل مسئله است.
پاکسازی و آماده سازی مناسب داده ها برای استخراج داده ها خیلی مهمه و یه انبار داده میتونه این کار رو راحتتر کنه. البته اگه انبار داده شامل اطلاعاتی که شما بهش نیاز دارین نباشه، به هیچ دردی نمیخوره و فایده نداره!
Data Mining چه کاری از دستش برمیاد و چی برنمیاد؟
داده کاوی یه ابزار قدرتمندیه که میتونه به شما در یافتن الگو و روابط بین داده ها کمک کنه. اما قرار نیست این استخراج داده خودش بیاد براتون همه چی رو حل کنه! نخیر اینطوری جواب نمیده! این شما هستین که قراره داده کاوی انجام بدین و برای این کار باید اطلاعات کافی راجع به شغلتون داشته باشین و داده هاتون یا روشهای تحلیلی رو بتونین درک کنین. استخراج داده ، یه سری اطلاعاتی که تو داده های شما پنهان شده رو کشف میکنه اما نمیتونه ارزش اون اطلاعات رو برای مثلاً شرکتتون مشخص کنه.
ممکنه در نتیجه کار با داده ها به مرور زمان از الگوهایی که داخلشون هست آگاه بشین پس داده کاوی علاوه بر کشف اون اطلاعات پنهان میتونه صحت یا عدم صحت این مشاهدات تجربی رو هم تایید کنه.
یادتون باشه که روابط پیش بینی شدهای که از طریق استخراج داده کشف میشن حتماً باعث یه عمل یا رفتار جدید نمیشن! مثلاً ممکنه داده کاوی تعیین کنه که مردهایی که درآمدشون بین 500,000 تا 650,000 دلاره یه سری مجله خاصی رو میخونن و به خریدن فلان محصول تمایل دارن. شما میتونین از این اطلاعات برای یه استراتژی بازاریابی استفاده کنین ولی نباید تصور کنین این جمعیتی که تو داده کاوی مشخص شده حتماً حتماً اون محصول رو میخرن.
پرسیدن سوالات مناسب
استخراج داده به طور خودکار نمیاد یه سری راه حلِ بدون راهنما کشف کنه، بلکه الگویی که با داده کاوی پیدا میکنین باتوجه به نحوه به وجود اومدن اون موردِ داده کاوی، متفاوت میشه! منظورم از این جمله اینه که شما با برای داده کاوی کردن یه مورد، اول از همه یه سری سوالاتی رو میپرسین و با توجه به اون سوالات داده کاوی رو انجام میدین، پس حالا برای این که نتایج معنی دار بهدست بیارین، باید یاد بگیرین که چطوری سوال درست رو بپرسن و از راه حلی برای رفع هر مشکلی استفاده نکنین.
درک داده ها
برای این که از معنا دار بودن نتایج داده کاوی مطمئن بشین، باید بتونین داده ها رو درک کنین! الگوریتمهای Data Mining معمولاََ رو یه سری خصوصیات خاص داده ها حساسند؛ مثل: داده های پرت یا Outlier، ستونهای بیربط، ستونهایی که باهم متفاوتند، کد گذاری داده ها و داده هایی که انتخاب میکنین تا حذف بشن یا باقی بمونن.
پروسه استخراج داده
تعریف مسئله
این مرحله که اولین مرحله هم هست روی درک اهداف و الزامات پروژه تمرکز میکنه. وقتی یه پروژه رو از دید تجاری مشخص کردین، میتونین اون رو به عنوان یه مورد داده کاوی در نظر بگیرن و یه برنامه اجرایی اولیه برای اون تهیه کنین. بذارین با یه مثال منظورم رو روشنتر کنم؛
جمع آوری و تهیه داده
مرحله درک داده شامل جمع آوری و و کشف داده هم میشه. با یه نگاه دقیقتر میتونین تعیین کنین که اصلاً این داده به درد مشکل شما میخوره و میتونه اون رو برطرف کنه یا نه! و بعد هرچی که لازم بود رو حذف کنین یا داده جدید اضافه کنین.
همه وظایفی که برای ساختن جدول موردی case table که در مدل سازی استفاده میشه لازمه، به این مرحله مربوطه. کارهای آماده سازی داده معمولاً چندبار تکرار میشه (البته نه تو ترتیبهای مشخص شده!). وظایف این مرحله شامل: تهیه جدول موردی و انتخاب ویژگیها و همچنین پاکسازی و تبدیل داده هاست.
تهیه داده مناسب باعث میشه اطلاعاتی که از طریق استخراج داده قابل کشفاند، بهبود پیدا کنن.
مدل سازی و ارزیابی
تو این مرحله تکنیکهای مختلف مدل سازی رو انتخاب و اعمال میکنین و پارامترها رو در مقادیر بهینه، کالیبره (calibrate) میکنین. اگه این الگوریتم به هر دلیلی به تغییر نیاز داره باید به مرحله قبلی برگردین.
تو این مرحله مدلی که برای هدف تجاری ارائه دادیم رو ارزیابی میکنیم و میبینیم که آیا این مدل میتونه هدف رو برآورده کنه یانه، مثلاً اگه احتمالاً این مدل قراره تعداد مشتریهایی که یه محصول رو میخرن رو پیش بینی کنه، آیا بین دو تا دسته (مشتریهایی که میخرن و اونهایی که نمیخرن) به اندازه کافی تفاوت یا تمایز قائله؟ آیا با اضافه کردن داده متنی ، مدل بهتر میشه؟ آیا داده معاملاتی باید درج بشن؟
استقرار دانش Knowledge Deployment
استقرار دانش یعنی استفاده از داده کاوی تو محیط هدف! تو این مرحله، بینش و اطلاعات کاربردی میتونن از داده ها بهدست بیان.
این مرحله میتونه شامل scoring (به کارگیری مدلها برای داده های جدید)، استخراج جزئیات مدل، ادغام مدل های استخراج داده در برنامهها، زیر ساختهای انبار داده یا پرس و جو (کوئری) و ابزار گزارش دهی باشه.