چرخه حیات پروژه‌های تحلیل داده (قسمت دوم)

چرخه حیات پروژه‌های تحلیل داده

 

هفت مرحله‌ی چرخه‌ی حیات پروژه‌های علوم داده

 

همان‌طور که در قسمت اول مقاله‌ی چرخه‌ی حیات پروژه‌های علوم داده توضیح دادیم، CRISP-DM استانداردترین چرخه‌ی حیات برای پروژه‌های داده‌ کاوی است که از قدیمی‌ترین و محبوب‌ترین‌ها به شمار آمده و با اندکی تغییرات، از آن در پروژه‌های تحلیل داده نیز استفاده می‌کنند. 

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

 

مرحله‌ی اول؛ جمع‌آوری داده‌ها

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

پروژه‌های تحلیل داده با شناسایی منابع مختلفِ جمع‌آوری داده آغاز می‌شود. این منابع می‌توانند وب‌سرورها، داده‌های فضای مجازی، داده‌هایی که در فضای آنلاین به صورت api هستند و یا داده‌های تمیز شده‌ای که در اکسل وارد شده‌ و وجود دارند، باشند. 

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

مثال:

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

 

مرحله‌ی دوم؛ آماده‌سازی داده‌ها

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

پس از جمع‌آوری داده‌ها، متخصصین باید داده‌ها را یا از طریق ویرایش دستی در یک شیت یا نوشتن کد، تمیز کنند. در این مرحله از چرخه‌ی حیات پروژه، هیچ بینش معناداری ایجاد نمی‌شود؛ اما با این حال، متخصصین می‌توانند از طریق جمع‌آوری منظم داده‌ها تشخیص دهند که چه ضعف‌هایی در مرحله‌ی جمع‌آوری داده‌ها وجود داشته، چه فرضیه‌هایی باید در نظر گرفته شده و از چه مدل‌هایی باید برای تولید نتایج تحلیل استفاده کنند. داده‌ها پس از اصلاح و ویرایش مجدد می‌توانند به فرمت‌های csv یا json یا هر فرمت دیگری تبدیل شده تا بارگذاری آن‌ها در ابزارهای مختلف تحلیل داده آسان باشد.

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

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

مثال:

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

 

مرحله‌ی سوم؛ فرضیه‌ها و مدل‌سازی

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

غالبا این برنامه‌ها به زبان python ،perl ،r و یا matlab هستند. برای شناسایی مدل یادگیری ماشین که متناسب با نیاز سازمان باشد، از تکنیک‌های مختلف یادگیری ماشین استفاده می‌شود. تمامی مدل‌های یادگیری ماشین با مجموعه داده‌های آموزشی، آموزش داده می‌شوند.

مثال:

استخراج ویژگی آماری، مدل‌سازی رفتار مشتری و دسته‌بندی آن‌ها بر اساس تعداد خرید، مبلغ خرید و تازگی خرید در این مرحله انجام می‌شود. در واقع، در این مرحله توانستیم پس از مشخص کردن ویژگی‌های مشابهِ دسته‌بندی‌های مختلف، تحویل آن به الگوریتم یادگیری ماشین و گرفتن بهترین نتیجه‌ی ممکن، انتخاب کنیم که قرار است به کدام دسته از مشتریان چه محصولی را در چه زمانی تخفیف دهیم. فرض کنیم به این نتیجه رسیدیم که گوشی نوت 10 سامسونگ را به دسته‌ی مشتریان «در معرض خطر (at risk)»  با پانزده درصد تخفیف ارائه دهیم. با این فرض مثال را ادامه می‌دهیم.

 

مرحله‌ی چهارم؛ ارزیابی و تفسیر

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

مثال:

معیاری که در مثال حاضر کارکرد دارد، دقت شباهت یا دقت درست بودن نتایجی است که از ارزیابی مدل‌سازی انجام شده با داده‌های 6 ماه اخیر که در مرحله‌ی آماده‌سازی داده‌ها کنار گذاشته شدند، حاصل می‌شود. باید با ارزیابی در این مرحله دید که آیا مشتریانی که در دسته‌ی «در معرض خطر» قرار دارند، در شش ماه گذشته گوشی نوت 10 سامسونگ را خریده‌اند یا خیر. اگر خریده باشند، نشانه‌ی بالا بودن دقت بوده و الگوریتم یادگیری ماشین در مرحله‌ی فرضیه و مدل‌سازی درست عمل کرده است و در غیر این صورت، باید مجدداً مدل‌سازی انجام شود.

 

مرحله‌ی پنجم؛ استقرار

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

مثال:

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

 

مرحله‌ی ششم؛ عملیات

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

مثال:

در این مرحله، واقعاً پیشنهاد تخفیف پانزده درصد در گوشی نوت 10 سامسونگ به دسته‌ی مشتریان «در معرض خطر» داده شده و بررسی خواهد شد که چند درصد از مشتریان در دسته‌ی «در معرض خطر»، در حال خرید گوشی نوت 10 سامسونگ از طریق تخفیف پانزده درصدی بوده و در صورت تغییر در روند مدنظر میانگین روزانه‌ی خرید، حتما و سریعاً دلیل آن پیگیری شود.

 

مرحله‌ی هفتم؛ بهینه‌سازی

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

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

مثال:

در این مرحله، دلیل این که مشتریان در دسته‌ی «در معرض خطر»، گوشی نوت 10 سامسونگ را با پانزده درصد تخفیف خرید نکرده‌ یا میزان خریدشان رضایت‌بخش نبوده، بررسی شده و برای بهینه‌سازی در پروموشن‌های بعدی استفاده می‌شود. مثلا امکان دارد نرخ دلار نسبت به زمان انجام تحلیل افزایش پیدا کرده و مشتریان حتی با پانزده درصد تخفیف نیز محصول پیشنهادی را نخرند.