داده کاوی چیست؟
داده کاوی چیست؟
داده کاوی جستجو به منظور دستیابی به الگوهای بالقوه، با معنی، صحیح و مفید در حجم زیادی از داده است. داده کاوی کشف روابط ناشناخته و غیر قابل انتظار در میان داده های جمع آوری شده توسط یک سازمان است.
داده کاوی یک مهارت میان رشته ای است که از علوم آمار، ریاضی، یادگیری ماشین و هوش مصنوعی بهره می گیرد. بینش های به دست آمده از طریق داده کاوی در بازاریابی، کشف تقلب و موارد زیاد دیگری به کمک سازمان ها می شتابد.
الگوهای داده کاوی می توانند بر روی داده های ساختار یافته در پایگاه داده رابطه ای یا انبار داده و همچنین داده های غیر ساختار یافته مانند متن اعمال شوند. امروزه داده های متنی سهم زیادی از داده ها را شامل می شوند. این متون می توانند نظرات کاربران در مورد محصولی خاص باشند یا اخبار مربوط به کسب و کار سازمان. این داده ها معمولا در وب موجود هستند که برای دستیابی و تحلیل آن ها نیاز به بکار گیری فنون وب کاوی و متن کاوی است.
فرآیند داده کاوی
فرآیند داده کاوی شامل چندین مرحله می باشد:
شناخت کسب و کار
در این مرحله اهداف کسب و کار و داده کاوی مشخص می شوند. در ابتدا نیاز است که اهداف کسب و کار را بشناسیم و بدانیم ذینفعان چه چیزی نیاز دارند. باید سناریوی داده کاوی مشخص شود. منابع، فرضیات و محدودیت ها در این مرحله روشن شوند. سپس با توجه به اهداف کسب و کار و سناریوی داده کاوی، اهداف و انتظارات از داده کاوی تعیین می شود. برنامه ریزی پروژه داده کاوی باید بسیار دقیق و جزئی باشد و اهداف داده کاوی و در پی آن کسب و کار با آن محقق شود.
شناخت داده
در این مرحله باید بررسی کرد که داده ی مناسب برای پروژه داده کاوی در کجا یافت می شود. بسته به هدف کسب و کار این داده ها به صورت ساختار یافته در پایگاه داده سازمان یا منابع خارجی یا حتی شبکه ها ی اجتماعی وجود دارد.
در این مرحله داده مورد نیاز از منابع مختلف جمع آوری و سازماندهی می شوند. این مرحله نیازمند یکپارچه سازی داده است. به طور مثال ممکن است داده از منابع داده ای گوناگون با ساختار متفاوت جمع آوری شود که تطبیق و یکپارچه سازی آن ها یکی از مهمترین اعمال داده کاوی است. ممکن است در یک منبع سازمان شناسه مشتری با عنوان Cus_ID ذخیره شده باشد و در منبع دیگر با عنوان Cus_Number.
شناخت ویژگی های داده یکی از مهمترین اعمال این مرحله می باشد. در این مرحله باید از ابزار بصری سازی و پرس و جو در داده و … استفاده نمود تا شناخت اولیه ای از داده فراهم آید.
داشتن داده با کیفیت پیش نیاز یک پروژه داده کاوی خوب است. بدون داشتن داده با کیفیت پروژه به نتایج مطلوب منجر نخواهد شد. لذا در این مرحله می بایست کیفیت داده را ارزیابی کنیم. بررسی کیفیت داده، شناسایی missing values (داده های گم شده!!) و اتخاذ تصمیم مناسب در قبال آن ها از اعمال مورد نیاز در این مرحله است.
آماده سازی داده
مرحله آماده سازی داده معمولا زمان بر ترین مرحله یک پروژه داده کاوی است. داده های مورد نیاز باید از منابع مختلف جمع آوری، پاکسازی و یکپارچه شوند و به فرمت و ساختار مورد نیاز پروژه داده کاوی تبدیل شوند. در این مرحله باید داده های ناهنجار مدیریت شوند و missing values با مقادیر مناسب جایگزین شوند. به طور مثال ممکن است اطلاعات سن یک مشتری وجود نداشته باشد یا عدد 400 برای آن ثبت شده باشد. لذا باید تصمیمات مناسب در قبال این نوع از داده اتخاذ شود. در واقع این مرحله داده را به شکل مناسب برای پروژه داده کاوی تبدیل می کند.
تبدیل داده
در این مرحله تبدیلات بسیار مهمی صورت می پذیرد. در این مرحله داده های ناهنجار از داده ها حذف می شوند. تجمیع داده صورت می پذیرد. ممکن برای بعضی از مقاصد داده کاوی داده های جزئی مورد نیاز نباشد.
ممکن است سازمان داده های هر تراکنش را ذخیره کند یعنی با هر فروش یک تراکنش در پایگاه داده ذخیره شود. اما لزوما برای تحلیل نیازی به آنالیز تک تک تراکنش ها نداریم. ممکن است نیاز داشته باشیم تا عمل تجمیع را انجام دهیم. به طور مثال ممکن است پیش بینی تقاضای هفتگی مورد نیاز ما باشد لذا می بایست داده ها را به صورت هفتگی یا ماهانه تجمیع کنیم و سپس آن ها را تحلیل کنیم. لذا باید این تجمیعات در این مرحله صورت پذیرد.
در مثالی دیگر ممکن است هر تراکنش به تفکیک شهر در پایگاه داده ذخیره شود. اما برای هدف پروژه داده کاوی یک سازمان بررسی در سطح استانی مورد نیاز باشد. لذا باید داده ها در سطح استانی تجمیع شوند. این تصمیم ها و تبدیل ها با توجه به اهداف داده کاوی تعیین می شوند. ممکن است در این مرحله نیاز به نرمال سازی داده ها داشته باشیم. همین طور ممکن است برخی از ویژگی ها نیاز به تغییر شکل داشته باشند. به طور مثال ممکن است نیاز داشته باشیم که به جای سن مشتریان رنج سنی را در نظر بگیریم. خروجی این مرحله یک مجموعه داده کاملا آماده برای تحلیل است.
مدل سازی
در این مرحله الگوریتم های ریاضی به منظور شناسایی الگوهای موجود، بر روی مجموعه داده اعمال می شوند. در این مرحله با توجه به اهداف مشخص شده در مرحله اول الگوی مناسب و مورد نیاز برای پاسخگویی به پرسش مطرح شده انتخاب می شود و نتایج استخراج می شوند.
ارزیابی
در این مرحله نتایج به دست آمده مورد ارزیابی قرار می گیرند. باید بدانید که تمام این مراحل رفت و برگشتی هستند، یعنی ممکن است از هر مرحله به مراحل قبل برگشته و اعمال اصلاحی را انجام دهید. حتی ممکن است از ارزیابی نتایج به دست آمده اهداف جدیدی برای پروژه تعیین کنید. در صورتی که نتایج ارزیابی مناسب باشد پروژه به مرحله پیاده سازی می رود.
پیاده سازی
در این مرحله مدل ساخته شده به اجرا در می آید. الگوهای به دست آمده در مدل ممکن است بسیار بدیهی یا غیر بدیهی باشند. در این مرحله پایش عملکرد مدل و همچنین بهبود آن انجام می شود و گزارش نهایی پروژه حاوی درس ها و تجربیات حاصل شده طی پروژه ایجاد می شود.
تکنیک های داده کاوی
دسته بندی (Classification)
تکنیک دسته بندی، داده ها را در دسته های مختلف طبقه بندی می کند. در واقع سازمان داده های مرتبط به چندین سال را ذخیره کرده است. این تکنیک با یادگیری از داده های گذشته، روابط بین داده ها را شناسایی کرده و تعلق آن ها را به دسته های مختلف مشخص می کند. ویژگی تکنیک دسته بندی وجود برچسب در داده است. در واقع خرید یا عدم خرید، بیمار یا سالم بودن، تقلب یا عدم تقلب مثال هایی از برچسب گذاری در داده ها به شمار می آیند.
در الگوریتم های دسته بندی مجموعه اولیه داده به دو مجموعه با عنوان داده های آموزشی و آزمایشی تقسیم می شوند. با استفاده از داده های آموزشی که دارای برچسب هستند مدل ساخته می شود و با داده های آزمایشی که بدون برچسب هستند مدل مورد ارزیابی و اعتبار سنجی قرار می گیرد. به طور مثال سازمان اطلاعات 1 میلیون مشتری را در پایگاه داده ذخیره کرده است. برای پیاده سازی دسته بندی به طور مثال 700 هزار رکورد به عنوان داده آموزشی در نظر گرفته می شود. این داده ها دارای برچسب هستند و مدل به وسیله آن ها آموزش داده می شود. اما 300 هزار رکورد باقیمانده داده آزمایشی هستند که مدل ساخته شده از مرحله آموزش مورد ارزیابی قرار می گیرد و برچسب ها در این مرحله توسط مدل پیش بینی می شوند. در نتیجه ابتدا مدل با استفاده از برچسب ها آموزش داده می شود سپس مورد ارزیابی قرار می گیرد و برای داده های جدید که بدون برچسب هستند برچسب (متغیر هدف) مورد پیش بینی قرار می گیرد. در واقع در مرحله ارزیابی برچسب های واقعی با برچسب های پیش بینی شده توسط مدل مقایسه و مورد ارزیابی قرار می گیرند. در صورت مطلوب بودن نتایج ارزیابی مدل به اجرا در می آید و برای داده های ورودی جدید متغیر هدف (برچسب ) را پیش بینی می کند.
به طور مثال سازمان ویژگی های افرادی که به فروشگاه ما مراجعه نموده اند مانند سن، تحصیلات، وضعیت تاهل، تعداد فرزند، فاصله منزل از محل کار، درآمد و … را ذخیره کرده است. همچنین خرید یا عدم خرید هر کدام از مراجعین را در پایگاه داده ثبت کرده است. ویژگی های مشتری ویژگی های ورودی و خرید یا عدم خرید برچسب داده ها به شمار می آیند. این تکنیک روابط بین متغیرهای ورودی و برچسب ها را شناسایی کرده و برای مشتریان جدید پیش بینی می کند مشتری جدید این محصول را از ما خواهد خرید یا خیر؟ در واقع دسته بندی با یادگیری از داده های گذشته روابط بین متغیر ها را شناسایی می کند و متغیر هدف را برای مشتریان آینده پیش بینی می کند. هنگام ورود یک مشتری جدید ما ویژگی های او را در اختیار داریم اما از خرید یا عدم خرید او آگاه نیستیم. لذا باید پیش بینی کنیم این مشتری با ویژگی هایش محصولی از ما خواهد خرید یا خیر؟
دسته بندی در پزشکی، بازاریابی و تشخیص تقلب کاربرد های بسیاری دارد. برای مثال فرض کنید بیمارستانی ویژگی های 10000 بیمار شامل سن، وزن، قد، فشار خون و … و همچنین بیماری فرد را نگه داری می کند. بیماری ها در 3 دسته سالم، دیابت و هپاتیت برچسب گذاری می شوند. ابتدا 7000 داده به عنوان داده آموزشی در نظر گرفته می شود. با تکنیک دسته بندی روابط بین ویژگی های مشتری و برچسب ها استخراج می شود و مدل ساخته می شود. با ورود بیمار جدید بیمارستان ویژگی های مشتری (سن، وزن، قد، فشار خون و …) را دریافت و به وسیله مدل پیش بینی می کند که بیمار با این ویژگی ها در کدام دسته ی بیماری (هپاتیت، دیابت یا سالم) قرار می گیرد.
خوشه بندی (Clustering)
خوشه بندی تکنیکی است که داده های مشابه با یکدیگر را شناسایی می کند. در واقع این تکنیک شباهت ها و تفاوت های داده ها را شناسایی می کند. در واقع با این تکنیک داده ها بر اساس شباهت با یکدیگر در خوشه های مختلف قرار می گیرند به طوری که داده های متعلق به یک خوشه بیشترین شباهت را با یکدیگر و بیشترین تفاوت را با اعضای خوشه های دیگر دارند.
تفاوت بین طبقه بندی و خوشه بندی در این است که در طبقه بندی داده ها برچسب گذاری شده اند اما در خوشه بندی این گونه نیست. به طور مثال در پروژه کشف تقلب در بانک، اطلاعات مربوط به ده ها هزار مشتری ذخیره شده و مشخص شده کدام یک از آن ها تقلب کرده اند و کدام یک خیر؟ لذا عمل طبقه بندی بر روی این داده ها صورت می پذیرد. به طوری روابط بین داده های ورودی که شامل ویژگی های مشتری و … است با متغیر هدف (تقلب یا عدم تقلب) شناسایی شده و برای هر مشتری جدید این پیش بینی صورت می پذیرد. این در حالیست که در خوشه بندی داده های ما برچسب گذاری نشده اند و الگوریتم با شناسایی روابط بین متغیر ها براساس شباهت داده ها را در خوشه های مختلف طبقه بندی می کند.
به طور کلی در داده کاوی روش ها به دو دسته با ناظر و بدون ناظر تقسیم بندی می شوند. به دلیل وجود برچسب در روش دسته بندی، این روش در دسته روش های یادگیری با ناظر قرار می گیرد. در حالی که خوشه بندی از روش های بدون ناظر به حساب می آید.
برای مثال فرض کنید 10000 مقاله در پایگاه داده وجود دارد. این مقالات برچسبی ندارند و ما نمی دانیم مربوط به چه حوزه ای هستند. با عمل خوشه بندی می توانیم اسناد را در خوشه های مختلف به طور مثال ورزشی، سیاسی و پزشکی تقسیم بندی کنیم.
رگرسیون
رگرسیون در واقع روشی است که به منظور تحلیل و شناسایی روابط بین متغیر ها به کار گرفته می شود. در واقع رگرسیون یک متغیر پیوسته را بر اساس سایر متغیر ها پیش بینی می کند. برای مثال پیش بینی سرعت باد بر اساس ویژگی هایی مثل دما، رطوبت و فشار هوا با رگرسیون امکان پذیر است.
قواعد انجمنی (Association Rules)
قواعد انجمنی یک سری قواعد اگر … آنگاه هستند که برای شناسایی آیتم هایی که با یکدیگر ظاهر می شوند به کار گرفته می شود. در واقع با به کارگیری این الگوریتم قواعد بسیار زیادی شناسایی می شوند که با استفاده از معیارهایی قوانین مهم و معتبر از میان آن ها انتخاب می شوند.
این الگوریتم در تخفیف دهی، فروش همزمان و همچنین چیدمان فروشگاه ها کاربرد بسیاری دارد. به طور مثال فرض کنید قاعده ای استخراج شده که نشان می دهد اکثر افراد شیر و چیپس را با هم می خرند! قاعده ای که بدیهی به نظر نمی رسد. لذا مدیریت فروشگاه می تواند این 2 آیتم را در نزدیکی یکدیگر جانمایی کند.
مزایای داده کاوی
داده کاوی به سازمان ها کمک می کند تا تصمیمات دانش محور برای کسب و کار اتخاذ کنند. با داده کاوی سازمان ها می توانند راهکار های بهینه را در عملیات خود به کار گیرند. داده کاوی کمک می کند تا صاحبان کسب و کار الگو ها و روند های پنهان کسب و کار خود را بشناسند و تصمیمات را بر اساس پیش بینی آینده اتخاذ کنند.
چالش های داده کاوی
استقبال سازمان ها از بهره گیری از مزایای تحلیل داده باعث می شود بسیاری از آن ها به فروش داده های مشتریان خود به سازمان های دیگر روی آورند. بعلاوه نتایج داده کاوی کاملا دقیق نیستند و ممکن با خطا در تصمیم گیری همراه باشد. عدم مدیریت انتظارات ذینفعان پروژه داده کاوی ممکن است به شکست پروژه منجر شود. همچنین حجم بالای داده ها علاوه بر دانش داده کاوی نیاز به دانش مدیریت داده های حجیم را نیز به وجود می آورد، چرا که در حجم بالای داده روش های سنتی پاسخگوی نیاز پردازش داده نیستند. کیفیت پایین داده در بسیاری از سازمان ها از دیگر چالش های داده کاوی است.
ابزارها
از R و Python می توان به عنوان مهمترین ابزارهای داده کاوی نام برد. در کنار آن ها ابزارهای دیگری نیز وجود دارند که مهمترین آن ها عبارتند از:
معرفی کتاب
Introduction to Data Mining by Pang-ning Tan, Michael Steinbach, Vipin Kumar
درباره حسین وثوقی
دانش آموخته مهندسی صنایع و مدیریت فناوری اطلاعات دانشگاه تهران، علاقه مند به تحلیل و ارائه راه حل برای مسائل و بهینه سازی راه حل ها هستم ...
نوشته های بیشتر از حسین وثوقی
سلام وقت بخیر
مهندس سوالی داشتم از شما، ممنون میشم کمکم کنید.
مسئله به این صورت است که میخواهم با گذاشتن چند شرط، قسمتی از داده های یک ستون رو انتخاب کرده و سپس از اون قسمت انتخاب شده چارک ها (Quartile) را بدست بیارم.
داده ها بدین صورت است که دبی جریان ورودی به یک منطقه به صورت متوالی هر 15 ثانیه به مدت یک ماه ثبت شده است، حال من میخوام که چارک داده های دبی جریان رو در بازه ای مشخص از زمان بدست بیارم.
ممنون میشم کمکم کنید
دقیقا به همین نام Quartile در اکسل تابع داریم که اگر به آن 0.25 را بدهید یعنی چارک اول.
با تشکر
[…] که به زمینه تحلیل داده و مدل های پیش […]