آموزش داده‌کاوی و کاربردهای آن [بخش اول]

آموزش داده‌کاوی و کاربردهای آن [بخش اول]

نوشته شده توسط: تیم فنی نیک آموز
۱۶ دی ۱۳۹۹
زمان مطالعه: 30 دقیقه
۱
(۱)

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

مقدمه

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

دسته‌بندی (Classification): پیش‌بینی یک ویژگی گسسته

وقتی هدف پیش‌بینی آینده به کمک داده‌های گذشته باشد و هدف از انجام پروژه پیش‌بینی متغیری با مقادیر محدود مثل پیش‌بینی سالم و مریضی یک فرد باشد.

  • پیش‌بینی خرید یا عدم خرید مشتریان در آینده
  • پیش‌بینی بیمار یا سالم بودن یک فرد
  • محاسبه احتمال اینکه یک سرور در ۶ ماه آینده Down شود یا خیر
  • الگوریتم‌های پشتیبان: درخت‌های تصمیم (Decision Tree)، بیزین ساده (Naïve Bayes)، خوشه‌بندی (Clustering)، شبکه عصبی (Neural Network)

وقتی هدف پیش‌بینی آینده به کمک داده‌های گذشته باشد و هدف از انجام پروژه پیش‌بینی متغیری با مقادیر نامحدود مثل پیش‌بینی قیمت خانه باشد.

رگرسیون (Regression): پیش‌بینی یک ویژگی پیوسته

  • پیش‌بینی فروش سال آینده
  • پیش‌بینی تعداد بازدیدکنندگان سایت باتوجه ‌به روندهای قبلی و فصلی
  • پیش‌بینی قیمت خودرو، سکه، طلا
  • الگوریتم‌های پشتیبان: درخت‌های تصمیم (Decision tree)، سری‌های زمانی (Time Series)، رگرسیون خطی (Linear Regression Algorithm)

تحلیل توالی(Sequence Analysis): پیش‌بینی یک توالی

  • انجام تحلیل clickstream (فعالیت‌های کاربر که به‌عنوان دنباله‌ای از لینک‌هایی که بر روی آن‌ها کلیک می‌کند) مربوط به وب‌سایت یک شرکت
  • تحلیل عوامل و اقداماتی که باعث شکست (توقف فعالیت) سرور می‌شود
  • تحلیل فعالیت‌هایی که در حین مراجعه بیماران سرپایی انجام می‌گیرد، تا فرایند درمان و رسیدگی به بیماران بهینه شود
  • الگوریتم‌های پشتیبان: شبکه عصبی، سری‌های زمانی

 قواعد انجمنی(Association Rule): یافتن گروه‌هایی از موارد مشترک در تراکنش

  • استفاده از تحلیل سبد خرید برای مشخص‌کردن چینش بهینه محصولات
  • پیشنهاد محصولات اضافه‌تر به یک کاربر برای خرید
  • الگوریتم‌های پشتیبان: درخت‌های تصمیم، اپریوری (Apriori)

خوشه‌بندی(Segmentation): یافتن گروه‌هایی از موارد مشابه

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

مراحل پیاده‌سازی یک پروژه داده‌کاوی

هر پروژه داده‌کاوی شامل مراحل مختلفی از جمله آماده‌سازی داده، اکتشاف داده‌ها(Data Exploration)، توسعه مدل، ارزیابی مدل، استقرار و به‌روزرسانی مدل است که در ادامه هرکدام ابتدا تعریف شده و برای هرکدام مثال‌هایی بیان می‌شود.

آماده‌سازی داده

داده ممکن است در سراسر منابع اطلاعاتی شرکت پراکنده و با فرمت‌های متفاوتی ذخیره شده باشد، یا ممکن است ناسازگاری‌هایی مثل داده‌های ورودی نادرست یا ناموجود را شامل بشود.
برای مثال: داده ممکن است نشان بدهد که یک مشتری محصولی را قبل از آنکه در بازار عرضه بشود خریده است، یا یک مشتری که از فروشگاهی که ۲۰۰۰ مایل (حدود ۳۲۱۹ کیلومتر) از خانه‌اش فاصله دارد خرید نمی‌کند ولی داده‌هایی با این مشخصات در مجموعه داده‌هایمان باشد که حتماً باید اصلاح شوند.
پاک‌سازی داده تنها به معنای حذف داده بد و پرکردن مقادیر ناموجود نیست، بلکه شامل یافتن همبستگی (Correlation) مخفی داده‌ها و ارتباطات بین متغیرها، شناسایی صحیح‌ترین منابع داده و تشخیص اینکه کدام ستون‌ها برای استفاده در تحلیل مناسب هستند، می‌باشد.
ابزارهای مایکروسافت برای آماده‌سازی داده SQL Server Integration Services، Master Data Services وData Quality Services است

اکتشاف دادهها

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

توسعه یک مدل داده‌کاوی

ستون‌های داده را که می‌خواهید استفاده کنید با ساختن یک ساختار کاوش توصیف می‌کنید. ساختار کاوش به منبع داده مرتبط است، ولی تا زمانی که آن را پردازش نکنید شامل هیچ داده‌ای نمی‌شود.
وقتی ساختار کاوش را پردازش می‌کنید، سرویس‌های تحلیل اطلاعات جمعی و دیگر اطلاعات آماری را تولید می‌کنند. این اطلاعات می‌تواند در هر مدل کاوشی که بر اساس این ساختار باشد مورداستفاده قرار بگیرد.
پیش از آنکه مدل و ساختار پردازش بشوند، یک مدل کاوش صرفاً یک محفظه است که ستون‌های مورداستفاده برای ورودی، ویژگی که آن را پیش‌بینی می‌کنید و پارامترهایی که به الگوریتم می‌گوید که چگونه داده را پردازش کند، را مشخص می‌کند. پردازش یک مدل معمولاً آموزش (Training) نامیده می‌شود.
آموزش به فرایند اعمال کردن الگوریتم ریاضیاتی بر روی داده‌ها در ساختار است تا الگوها استخراج بشوند. الگوهایی که در فرایند آموزش می‌یابید، به انتخاب داده آموزشی، الگوریتمی که انتخاب می‌کنید و اینکه چگونه الگوریتم را تنظیم کرده‌اید بستگی دارد.
SQL Server 2019 شامل الگوریتم‌های مختلفی می‌شود، هرکدام برای انجام فعالیت‌های مختلفی مناسب است و هرکدام یک مدل متفاوت می‌سازد. می‌توانید یک مدل جدید را با استفاده از Data Mining Wizard در ابزار داده Analysis Service ، یا با استفاده از زبان Data Mining Extensions (DMX) تعریف کنید.

ارزیابی مدل داده‌کاوی

سرویس‌های تحلیل، ابزاری را فراهم می‌کنند که کمک می‌کند تا داده‌تان را به دو مجموعه داده آموزشی و آزمایشی تقسیم کنید تا بتوانید عملکرد تمام مدل‌ها را بر روی همان داده به طور صحیحی تخمین بزنید. از مجموعه داده آموزشی برای ساختن مدل و از مجموعه داده آزمایشی برای آزمون صحت مدل با استفاده از درخواست‌های پیش‌بینی استفاده می‌کنید
روندها (Trends) و الگوهایی که الگوریتم کشف می‌کند را می‌توانید با استفاده از Viewer ها در Data Mining Designer در ابزارSQL Server Data Tools کاوش کنید.
همچنین می‌توانید با استفاده از ابزار موجود در Designer مثل نمودار Lift و ماتریس دسته‌بندی، بررسی کنید که مدل چه‌قدر خوب پیش‌بینی می‌کند.
برای تأیید اینکه آیا مدل خاص داده‌های شما بوده و فقط روی آن‌ها خوب جواب می‌دهد یا خیر می‌توانید از تکنیک آماری موسوم به اعتبارسنجی متقابل (Cross-Validation) برای ایجاد خودکار زیرمجموعه‌های داده استفاده کنید و مدل را در مقابل هر زیرمجموعه آزمایش کنید.

استقرار و به‌روزرسانی مدل

وقتی یک مدل آموزش‌ دیده و خروجی مناسب داشت، آماده استقرار می‌شود و در محیط واقعی پیاده‌سازی می‌شود. از مدل‌ها برای انجام پیش‌بینی‌ها استفاده می‌شود. این پیش‌بینی‌ها در تصمیمات کسب‌وکار استفاده می‌شود. در SQL Server با زبان DMX می‌توان درخواست‌های سفارشی پیش‌بینی تولید کرد. به کمک Prediction Query Builder می‌توان پیش‌بینی‌های مختلفی ایجاد کرده برای مثال، مشخصات یک مشتری از جداول مربوطه خوانده شده و اطلاعاتش به مدل داده شود تا مدل پیش‌بینی کند، چقدر احتمال دارد که این مشتری دوباره خرید کند.[

سؤالات کلیدی

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

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

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

چه رتبه ای می‌دهید؟

میانگین ۱ / ۵. از مجموع ۱

اولین نفر باش

title sign
دانلود مقاله
آموزش داده‌کاوی و کاربردهای آن [بخش اول]
فرمت PDF
7 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
237 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
دیدگاه کاربران

ثبت نام رایگان در همایش Tehran .NET Conf 2023 ، همین الان کلیک کنید
ثبت نام رایگان..
close-image