داده کاوی و کاربردهای روزمره آن

داده کاوی و کاربردهای روزمره آن

مجموعه ابزارهایی که می توانند شرکت ها، موسسات و حتی افراد را کمک کنند، تا از انبوه اطلاعات و داده های در دسترس، به مفاهیم کاربردی و موثر برسند، در شاخه ای از علوم کامپیوتر به نام داده کاوی (Data Mining) مورد بررسی قرار می گیرد. در واقع، داده کاوی مجموعه ای از مسائل کاربردی است که در حوزه استخراج دانش از انبوه داده های در دسترس تعریف شده اند، که روش هایی نیز در طول زمان، توسط دانشمندان علوم کامپیوتر، ریاضیات و آمار راه حل هایی برای آن ها ارائه شده است.

همانند فرایندی که در استخراج کانی های مهم و ارزشمند از سنگ های معدنی انجام می شود، در داده کاوی نیز، انبوهی از اطلاعات و داده ها بررسی می شوند، و دانستنی های ارزشمند و الگوهای کسب و کار، به ویژه کسب و کارهای نوپا اشتغال دارند، به معنی یکی از سبک های توسعه در کسب و کار است. اما از طرفی، برای فردی که با علم آمار سر و کار دارد، Bootstrap نام یکی از روش های نمونه برداری و سمپلینگ است. گوگل، اگر بتواند بر حسب فعالیت های گذشته یک کاربر، شغل او را، حداقل در حد یک احتمال بالا، حدس بزند، قطعا لینک های مربوط به تخصص فرد را در رتبه بالاتری به کاربر نمایش خواهد داد.

به عنوان یک نمونه دیگر، سیستم های پیشنهادگر ( Recommender System ) موجود در وبسایت های مختلف، از جمله شبکه های اجتماعی و فروشگاه های آنلاین را در نظر بگیرید. مثلا آمازون، یکی از قوی ترین سیستم های پیشنهادگر را دارد. این که معمولا افرادی که دوربین عکاسی دیجیتال می خرند، در کنار آن کارت حافظه و یا سه پایه نیز سفارش می دهند، یک الگو یا Pattern است که به مرور، سیستم پیشنهادگر موجود در آمازون آن را کشف کرده است، و در هنگام مطابقت شرایط یک مشتری با پیش نیازهای این الگو، پیشنهادهای مبتنی بر آن الگو به کاربر ارائه می شوند. سیستم پیشنهادگر موجود در یوتیوب و یا شبکه اجتماعی فیس بوک نیز، تقریبا کارایی مشابهی دارند و از اصول کاری یکسانی طبعیت می کنند.

همه این کاربردها، که هر روزه ما با آن ها رو در رو هستیم، از طریق تحلیل داده های جمع آوری شده در گذشته انجام می شوند، و نمونه های موفقی از کاربرد داده کاوی در زندگی روز مره ما هستند. قطعا این موارد صرفا مثال هایی بودند که می توان به راحتی موارد دیگری را نیز به آن ها، افزود.

 

کاربردهای داده کاوی

کاربردهایی که برای داده کاوی وجود دارند، بسیار بسیار گسترده اند و ما در این نوشتار، فقط امکان معرفی تعداد محدودی از آن ها را داریم. به عنوان مثال های بیشتر، می توان به کاربردهای داده کاوی در زمینه های زیر اشاره کرد:

سیستم های مدیریتی، مثلا مدیریت ارتباط با مشتریان یا CRM
نرم افزارهای امنیتی، مثلا نرم افزاری مانیتورینگ شبکه و ویروس کش ها
سیستم های بانکی، مثلا تخصیص اعتبار به مشتریان و طبقه بندی آن ها
مالی و اقتصادی، مثلا پیش بینی قیمت یک یا چند سهام یا شاخص
برنامه ریزی و مکان یابی، مثلا چینش داخلی فروشگاه های بزرگ و یا تخصیص امکانات شهری
علوم پزشکی، مثلا پیش بینی خطرات احتمالی ناشی از یک عمل جراحی خاص
علوم اجتماعی و سیاسی، مثلا پیش بینی یا تحلیل نتایج انتخابات

 

کارهایی که در داده کاوی انجام می شوند

مسائل و کاربردهای مختلفی که نهایتا به انجام داده کاوی منجر می شوند، در چند گروه اصلی قابل تقسیم بندی هستند. در ادامه، در کنار ذکر نام و معرفی اجمالی این گروه ها، کاربردهای آن ها نیز، با چند مثال بیان شده اند.

طبقه بندی یا Classification، یکی از مهم ترین قابلیت هایی است که انسان ها آن را یاد می گیرند و بخش مهمی از دانش انسان، دقیقا به همین قابلیت بر می گردد و بخش اعظمی از دانش (هم به معنای عام هم به معنای آکادمیک)، به صورت طبقه بندی قابل مدل سازی هستند.

مثلا، یک پزشک پس از معاینه یک مراجعه کننده، با مشاهده شرایط وی و انجام برخی اندازه گیری ها، او را در یکی از طبقه ها یا کلاس هایی که قبلا با آن ها آشنا شده است، طبقه بندی می کند؛ مثلا «گروه افراد سالم»، «گروه افرادی که مبتلا به سرما خوردگی هستند» و یا «گروه افرادی که دچار حساسیت فصلی هستند». سپس، پزشک با مراجعه به آموخته هایش، نسخه مربوط به کلاس مربوطه را، البته با برخی ملاحظات، برای فرد مراجعه کننده می نویسد.

همین فرایند، با استفاده از روش های روش های یادگیری ماشین (Machine Learning)، به طور خاص روش های یادگیری نظارت شده (Supervised Learning)، توسط الگوریتم های محاسباتی قابل پیاده سازی و شبیه سازی است. مثلا، وقتی یک سیستم پیشنهادگر در یک فروشگاه آنلاین به کاربری پیشنهاد خرید یک کتاب رمان را می دهد، یکی از روش های احتمالی برای انجام این کار این است که، سیستم مشتریان را طبقه بندی می کند و برای هر طبقه (یا کلاس)، پیشنهادهای خاص خودش را ارائه می دهد. یعنی اگر آمازون به شما پیشنهاد خرید یک کتاب رمان را می دهد، از نظر سیستم پیشنهادگر، شما در کلاس افرادی که رمان می خوانند، طبقه بندی می شوید.

خوشه بندی یا Clustering، نوع دیگری از مسائل است که ارتباط نزدیکی با طبقه بندی دارد. در این نوع از مسائل و کاربردها، کسی از قبل مسأله را حل نکرده است و خبری از ناظر یا معلم نیست. مثلا، در تئوری های مختلف روان شناسی، افراد به تیپ های شخصیتی مختلف تقسیم بندی می شوند. اما قطعا هیچ یک از این موارد، نه درست هستند و نه غلط؛ فقط یک راه حل هستند برای انجام یک تحلیل. اگر قرار باشد که یک کامپیوتر در نقش یک روانشناس ظاهر شود، می توانیم با یک الگوریتم خوشه بندی، و در دست داشتن اطلاعات شخصیتی چند نفر (مثلا ۱۰ هزار نفر)، که از طریق آزمایش هایی به دست آمده اند، افراد را به (مثلا) پنج خوشه یا Cluster تقسیم کنیم. افرادی که در یک خوشه قرار می گیرند، بیشترین شباهت را به یکدیگر دارند و در عین حال، میان اعضای دو خوشه، کمترین شباهت (بیشترین اختلاف) ممکن وجود دارد. برای انجام این عملیات، که نوعی از یادگیری غیر نظارت شده (Unsupervised Learning) است، الگوریتم های متعددی ارائه شده اند، که تعدادی از آن ها، مبتنی بر روش های الهام گرفته شده از طبیعت هستند؛ مثلا شبکه های عصبی مصنوعی.

رگرسیون یا Regression، خانواده دیگری از مسائل است که در آن بر خلاف مسائل طبقه بندی و خوشه بندی، هدف از حل مسأله رسیدن به یک رابطه ریاضی، برای توصیف یک پدیده است. مثلا، رابطه میان ساعت مراجعه به یک سایت، محل سکونت، سن، سرویس ایمیل مورد استفاده و مقدار سفارش انجام شده توسط یک کاربر. به عنوان یک مثال دیگر، می توان به موضوع پیش بینی سری های زمانی اشاره کرد، که به صورت حالت خاصی از مسأله رگرسیون قابل طرح و حل است.

کاوش قواعد وابستگی یا Association Rule Mining، نیز نوع دیگری از مسائل مطرح شده در داده کاوی هستند، که کاربردهای فراوانی را در هوش تجاری و طراحی سیستم های پیشنهادگر دارند. مثلا، اگر یک فروشنده با تجربه، بگوید که اگر فردی نان و پنیر را در سبد سفارش خود داشته باشد، حتما شیر را نیز انتخاب خواهد کرد، یک قاعده یا Rule مهم را بیان کرده است که بر مبنای آن، می توان تصمیم های زیادی گرفت. مثلا این که، سعی کنیم در چیدمان فروشگاه، حدالمقدور این موارد (نان، پنیر و شیر) در مجاورت یکدیگر باشند. یا این که، می توان یک سیستم پیشنهادگر را می توان بر همین اساس پیاده سازی کرد، که اگر فردی پرینتر رنگی جوهر افشان سفارش داد، به او کارتریج یدکی و یا کاغذ مخصوص چاپ عکس را پیشنهاد بدهد.

 

ابزارها و نرم افزارهای داده کاوی

با توجه به اهمیت داده کاوی در دنیای کسب و کارهای بزرگ و حرفه ای، ابزارها و نرم افزارهای متعددی برای این منظور طراحی و توسعه داده شده اند. برخی از این ابزارها، رایگان و متن باز (Open Source) هستند و برخی دیگر به صورت بسته های نرم افزاری تجاری ارائه شده اند. از این میان، تعدادی از مواردی که بیشتر مورد استفاده هستند، در ادامه آمده است.

بدون شک، زبان برنامه نویسی و بسته نرم افزاری R یکی از مهم ترین و کارآمدترین ابزارها در زمینه تحلیل و استنتاج آماری و انجام انواع محاسبات است. زبان برنامه نویسی R، امکانات فراوانی نیز، برای انجام عملیات داده کاوی و پیاده سازی الگوریتم های مربوط به آن است. این بسته نرم افزاری، کاملا رایگان و متن باز است.

یکی دیگر از ابزارهای مهم و کاربردی در زمینه داده کاوی، نرم افزار اکسل (Microsoft Excel) است، که به صورت پیش فرض و بعضا با افزودن برخی افزونه های تجاری، امکان انجام عملیات داده کاوی را فراهم می آورد.

نرم افزار رپیدماینر (RapidMiner) نیز، یکی دیگر از نرم افزارهای تخصصی داده کاوی است که امکانات متعددی را برای انجام انواع عملیات داده کاوی، یادگیری ماشین، پردازش متن، پیش بینی و تحلیل اقتصادی-مالی، تدارک دیده است. نسخه های قدیمی تر این نرم افزار به صورت متن باز منتشر شده اند؛ اما نسخه جدید آن، به صورت تجاری در دسترس قرار گرفته است.

بسته نرم افزاری Weka نیز، یکی دیگر از مجموعه های نرم افزاری متن باز است که به زبان جاوا پیاده سازی شده است، و گروهی مستقر در دانشگاه وایکاتو (Waikato) در کشور نیوزلند، مسئولیت توسعه و نگهداری این بسته نرم افزاری را بر عهده دارند. این مجموعه نرم افزاری به صورت اختصاصی برای انجام عملیات یادگیری ماشین پیاده سازی شده است، که طبعا کاربردهای فراوانی را می تواند در حوزه داده کاوی داشته باشند. این بسته نرم افزاری به صورت رایگان و متن باز توزیع شده است.

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

مجموعه نرم افزارهای IBM SPSS، برای تحلیل آماری (IBM SPSS Statistics)، و داده کاوی و مدل سازی (IBM SPSS Modeler)، مجموعه ای قدرتمند از ابزارها را برای انجام عملیات مختلف داده کاوی فراهم کرده اند. این نرم افزار ها، به صورت تجاری ارائه شده اند.

 

 

دیدگاه خود را بنویسید: