با پرکاربردترین الگوریتم‌های داده‌کاوی آشنا شوید

نویسنده: دکتر ایمان رئیسی - ستاد مدیریت محصول همکاران سیستم

زمان مطالعه: 10 دقیقه

براساس ارتباط‌هایی که داده‌‌کاوی با علوم مختلف برقرار کرده، از الگوریتم‌ها و روش‌های بسیار متنوعی استفاده می‌کند. طبقه‌بندی‌های مختلفی برای الگوریتم‌های داده‌کاوی ارائه شده است.

در یک طبقه‌بندی معروف الگوریتم‌های داده کاوی را به دو بخش توصیفی و پیش‌بینی‌کننده تقسیم‌بندی می‌کنند که در این مقاله قصد داریم تا به مهم‌ترین آنها اشاره کنیم.

برخی از مهم‌ترین الگوریتم‌های توصیفی در داده‌کاوی

براساس مشهورترین طبقه‌بندی‌ها، این الگوریتم‌ها را می‌توان به دو دسته الگوریتم‌های توصیفی و الگوریتم‌های پیش‌بینی‌کننده تفکیک کرد. بر این اساس، برخی از مهم‌ترین الگوریتم‌های توصیفی به شرح زیر هستند:

خوشه‌بندی داده‌ها (Clustering)

یکی از روش‌های بدون ناظر برای اکتشاف دانش از داده‌ها است که بدون پیش‌فرض، داده‌ها را براساس فاصله‌ی معنی‌دار تفکیک و دسته‌بندی می‌کند. اعضای درون یک خوشه شباهت‌های زیادی به یکدیگر دارند، اما اعضای هر خوشه با اعضای موجود در خوشه‌های دیگر شباهت کمتری دارند.

الگوریتم‌هایی مانند K-Means، K-Medoids، AGNES، DIANA، DBSCAN و OPTICS از جمله الگوریتم‌های خوشه‌بندی به شمار می‌آیند. نمونه‌هایی از خوشه‌بندی داده‌ها به شرح زیر هستند:

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

حتما بخوانید: داده کاوی چیست و پیش‌نیازهای آن کدام است؟

الگوریتم قواعد وابستگی (Association Rules)

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

برخی از الگوریتم‌های محاسبه قواعد وابستگی عبارتند از Apriori و FP-Growth. برای نمونه در تحلیل موارد زیر از قواعد وابستگی استفاده می‌شود:

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

مهم‌ترین الگوریتم‌های پیش‌بینی‌کننده در داده‌کاوی

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

طبقه‌بندی داده‌ها (Classification)

یکی از روش‌های یادگیری نظارت‌شده برای پیش‌بینی طبقه داده‌ها است که بر مبنای طبقات پیش‌فرض و از قبل مشخص‌شده، اقدام به شناسایی طبقه داده‌های جدید می‌کند. برخی از الگوریتم‌های طبقه‌بندی داده‌ها عبارتند از: Decision Tree, Navie Bayes و K-Nearest Neighbors. چند نمونه از کاربردهای طبقه‌بندی به شرح زیر است:

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

رگرسیون و سری‌های زمانی (Regression and Time Series Analysis)

در صورتی که داده‌های سازمان با گذشت زمان و براساس روند مشخصی ثبت شده باشند، امکان پیش‌بینی روند آینده سازمان براساس سری‌های زمانی و توابع رگرسیونی داده‌ها وجود دارد.

رگرسیون یکی از ساده‌ترین روش‌های داده‌کاوی است که براساس روند گذشته، تخمینی از مقادیر آینده ارائه می‌کند. چند نمونه از کاربردهای رگرسیون به شرح زیر است:

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

شبکه‌های عصبی (Neural Networks)

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

پیش‌بینی داده‌ها در این الگوریتم مشابه الگوریتم‌های طبقه‌بندی است با این تفاوت که در این روش، هدف پیش‌بینی مقادیر داده پیوسته (مانند مبلغ فروش، درآمد، سود یا قیمت سهام) است.

ولی در طبقه‌بندی، نتایج پیش‌بینی براساس طبقات فعلی که الگوریتم آن‌ها را آموزش دیده، ارائه می‌شوند و خروجی دارای طیف گسسته است. (در حقیقت تعداد طبقات محدود به چند طبقه یا گروه خاص است و تنوع کمی دارد). برخی از انواع شبکه‌های عصبی عبارتند از شبکه‌های MLP، RBF، SVM، SOM و LVQ. نمونه‌هایی از کاربرد شبکه‌های عصبی به شرح زیر است:

  • یادگیری و پیش‌بینی رفتار مشتریان فعلی و آتی براساس بازخوردهای دریافتی از سیستم پیشنهادها
  • بهینه‌سازی ارسال و دریافت محصولات و قراردادهای پشتیبانی بر مبنای روندهای گذشته
  • تنظیم رویکرد فروشندگان نسبت به مشتریان بالقوه و جدید براساس یادگیری از رفتار مشتریان فعلی
  • درک نحوه و کیفیت کار کارکنان ممتاز در پاسخگویی به درخواست مشتریان و شناسایی علل عدم تبعیت رفتار آنها از الگوی نرمال و روزمره‌ی سازمان.
  • پیش‌بینی قیمت در پورتفوی سهام براساس شاخص‌های اقتصادی کشور و شاخص‌های مالی بورس و ارائه‌ی پیشنهاد برای خرید یا فروش سهام پورتفو به منظور بهینه‌سازی مجموع سود سهام.

الگوریتم‌های پیش‌بینی کننده در داده کاوی

در کنار الگوریتم‌های توصیفی و پیش‌بینی، مجموعه‌ای از الگوریتم های فراابتکاری (Meta-Heuristics) نیز ارائه شده‌اند که هدف آن‌ها دستیابی به پاسخ بهینه‌ی سوالات و مسائل مدیریتی و عملیاتی است. برخی از مهم‌ترین الگوریتم‌های فراابتکاری یا اصطلاحا تکاملی (Evolutionary) عبارتند از:

  • الگوریتم ژنتیک (Genetic Algorithm)
  • بهینه‌سازی ازدحام ذرات (Particle Swarm Optimization)
  • بهینه‌سازی کلونی مورچگان (Ant Colony Optimization)
  • بهینه‌سازی کلونی زنبورهای عسل (Bees Colony Optimization)
  • الگوریتم کرم شب تاب (Firefly Algorithm)
  • جستجوی متوازن (Harmony Search)

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

برای حل مسائل کسب‌و‌کار، گاهی اوقات از الگوریتم‌های تکاملی در ترکیب با الگوریتم‌های توصیفی و پیش‌بینی‌کننده استفاده می‌شود تا کیفیت و دقت پاسخ‌ها افزایش یابد، هر چند که این نکته منجر به افزایش مدت زمان یادگیری و ساخت مدل‌های حل مساله می‌شود.

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

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

جمع‌بندی

در این مقاله به مهم‌ترین و پرکاربردترین الگوریتم‌های داده‌کاوی اشاره کردیم. باید اشاره کنیم که تحلیل داده نیاز ضروری بسیاری از سازمان‌های امروزی است.

اما این کار بدون استفاده از راهکارهای نرم‌افزاری بسیار پیچیده است. همکاران سیستم راهکار نرم‌افزاری خود را در این زمینه تحت عنوان نرم‌ افزار هوش تجاری در بستر وب ارائه کرده است.