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

 

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

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

 

 

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

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

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

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

 

مثال:

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

 

 

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

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

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

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

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

 

مثال:

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

 

 

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

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

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

 

مثال:

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

 

 

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

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

 

مثال:

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

 

 

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

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

 

مثال:

در این مرحله محصول مورد نظر واقعا وارد سایت اصلی اجرا و پیاده سازی می شود و به سایر سیستم های فروش، حسابداری، مدیریت تخفیف ها، اس ام اس سنتر و .... هم متصل می شود. در این مرحله واقعاً پیشنهاد تخفیف 15 درصد در گوشی نوت 10 سامسونگ به دسته ی مشتریان در معرض خطر داده می شود.

 

 

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

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

 

مثال:

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

 

 

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

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

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

 

مثال:

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