انجام پروژههای علم داده، بر خلاف عقیدهی عموم و تصور رایج، کار بسیار آسانی است. اما قبل، در حین و بعد از انجام آنها باید کارهایی را انجام دهیم که برخی از آنها را بعضاً بصورت سؤالی در چکلیستهای زیر، منتشر کردهایم. این موارد با توجه به منابع معرفی شده در انتهای مقاله بدست آمده و تنظیم شده است. بدلیل ماهیت بین رشتهای علم داده، چنین لیستهایی به هیچ وجه کامل نیستند، اما بسیار کارگشا و راهنمای شما خواهند بود. امید است که شما نیز این لیست را در آیندهای نچندان دور، کاملتر نمائید.
چک لیست استراتژی تیمی:
- در حال حاضر چقدر حسننیت وجود دارد؟ میزان حسن نیت اغلب مدت زمان لازم را که شما برای ارائه در نظر میگیرید مشخص میکند.
- در حال حاضر چه مهارتهایی در تیم وجود دارند؟ آیا آنها برای دادههای موجود مناسب هستند؟
- دادهها عموما از کجا به دست آمدهاند؟ آیا کاربران یا مشتریها آنها را بشما دادهاند؟ آیا آنها در حال حاضر در سازمان شما موجودند (یا بعنوان مثال روی سرورهای مشتری قرار دارند؟) آیا میتوانید بطور موثری برای سازمان خود داده جمعآوری کنید؟ بعنوان مثال از طریق وبکاوی.
- آیا دیتاستهای مشابه را بررسی خواهید کرد یا خیر، دیتاستهای متفاوتی را با توجه به نوع مسئله انتخاب و آنالیز میکنید؟
- آیا در تیم شما یک روش صنعتی استاندارد برای بررسی مسائل وجود دارد؟ آیا وجود روشهای جدید در حوزهی کاری شما یک امتیاز است یا چندان موثر نخواهد بود؟
- در حوزه یا صنعت کاری شما چگونه با روشهای جدید کنار خواهند آمد؟ چه مخالفتهایی بوجود خواهد آمد اگر شما مورد جدیدی را معرفی نمائید؟
- آیا منابع کافی در سازمان شما به منظور آموزش کاربران وجود دارد و یا چنین چیزی (آموزش) وظیفهی شماست؟ آیا کاربرانی که احتمالاً در چنین مواقعی سؤال بپرسند را شناسایی کردهاید؟
- یاآیا من میتوانم از استراتژی تیمی استفاده کنم و به اشخاص در سازمان توضیح بدهم که چگونه علم داده به آنها در رسیدن به اهدافشان کمک خواهد کرد؟
- اگر از استراتژی تیم استفاده کنیم، آیا بطور اتوماتیک به اهداف سازمان خواهیم رسید؟
- آیا استراتژی سازمان در بازهی زمانی تعیین شده با استراتژی تیم سازگار خواهد بود؟
- آیا مستندات استراتژی تیم براحتی در اختیار سایر اعضاء قرار گرفته است یا خواهد گرفت؟
- آیا ساختار مستندات برای خوانده شدن ساده، مختصر و مفید است؟
- آیا برای ارتباط و بحث در خصوص مطالب یا استراتژی جدید با اعضای تیم مرحلهای در نظر گرفتهاید؟ چگونه چنین چیزی با کارها و تخصصهای اشخاص مرتبط خواهد شد؟
- آیا زمانی که شما و سایر اعضای تیم کمترین حواسپرتی ممکن را دارند مشخص کردهاید؟
- محتملترین سؤالات اعضاء را مشخص نموده و پاسخ مشخصی برای آنها در نظر بگیرید.
- با اشخاص موفق در سازمان یا در خارج آن به شخصه در خصوص استراتژی خود قبل از ارائه صحبت کنید و نظرات ایشان را جویا شوید.
- آئین و مناسک تیم شما چیست؟ آیا آنها کمک کننده هستند و یا مانعی بر سر راه رسیدن به اهداف تیم میباشند؟ آیا آنها تیم را در برابر تغییرات آزاد میگذارند یا باعث فیلتر ورودیهای مختلف ذهنی برای افراد تیم میشوند؟ (یعنی قوانینی حاکم بر تیم که براحتی به اعضاء اجازهی دسترسی به عقاید مخالف با منویات آنها را نمیدهد)
- آیا تمرین استانداردی برای بررسی اینکه پروژهی جدید حامی استراتژی تیم است، وجود دارد؟
- آیا در آگهی شغلیتان توضیحاتی برای جذب کاندیدهای جدید که مهارتهایشان اهداف کلی تیم را حمایت کند، نوشتهاید؟
چک لیست انجام پروژه:
این قسمت از چک لیست وقتی ارزشمند است که پروژهی شما به سه بخش اهداف، مهارتها و دادهها تقسیم شده باشد.
الف: اهداف:
- آیا پیشنیازهای نظارتی در خصوص مدل شما وجود دارد؟ (همانگونه که در خصوص مدلهای مرتبط با امور مالی و بیمه موجود است) تاثیر آنها چیست؟ بعنوان مثال آیا این نظارتها باعث محدودیت در انتخاب الگوریتم ما خواهند شد؟ آیا نیاز به مستندسازی اضافه پیدا خواهیم کرد؟ یا نیاز به گزارشات بیشتر در چرخهی زندگی مدل پیدا خواهد شد؟
- هر چند وقت یکبار مدل بروزرسانی خواهد شد؟ پاسخهای احتمالی از «هرگز» تا «هر میکرو-ثانیه» متغیر است.
- نتایج اشتباه بودن مدل چیست؟ هیچ؟ کسی مقداری پول از دست خواهد داد؟ شخصی جانش را از دست میدهد؟ (در خصوص یک مدل تشخیص دهندهی مریضی)
- چه حجمی از داده وارد مدل خواهد شد؟
- چگونه کاربران نتایج را ارزیابی خواهند کرد؟
- تیم علم داده چه مقدار از کاربران نهایی را ارزیابی کرده است؟ آیا تیم قادر است این کار را بیش از یکبار در طول چرخهی زندگی مدل انجام دهد؟
ب: مهارتها
- آیا مهارتهای لازم در حال حاضر در تیم شما وجود دارند؟
- آیا افراد با مهارتهای درست، همانهایی هستند که در حال حاضر در تیم وجود دارند؟
- نتایج تکمیل نشدن پروژه چیست؟
- آیا (انجام) پروژه یک نیاز مبرم است؟
- چقدر استخدام یک کارمند موقت سخت است؟ چقدر چنین استخدامی باعث تاخیر در پروژهها میگردد؟
پ: دادهها
- آیا تیم قبلاً با این دادهها کار کرده است؟
- منبع (مبدأ) دادهها چیست؟ چقدر محتمل است که یک دیتاست با کیفیت را قبل از بکارگیری آن بررسی کنید؟ همیشه این کار را انجام میدهید؟ (یعنی احتمالش 100% است؟)
- آیا با داشتن دیتای بیشتر، نتایج بهتری خواهید گرفت؟ جمع کردن دادهی بیشتر چقدر هزینه خواهد برد؟ چقدر زمان نیاز است؟
- آیا برای استفاده از دادهها در مدل اجازه داریم؟ به خصوص هنگامی که بخواهیم آنرا پیادهسازی نمائیم.
- هنگامی که مدل پیادهسازی شد، آیا دادههای شما، همانگونه که مدل تازهسازی میشود، بروز خواهند شد؟ (همواره باید به بروزرسانی نوع دادهها فکر کنیم)
چک لیست فروش:
- آیا ارائه مدل شما لینکی بین مدلتان و راهحل برای رفع نیاز مشتری برقرار خواهد نمود؟
- آیا جنبههای عاطفی ارائه را در نظر گرفتهاید؟ (چگونه از مغز به قلب مشتری احتمالی برسیم؟)
- آیا شما یک پاسخ کوتاه (Elevator Pitch) به سؤال «چیکار میکنی؟» دارید؟
- آیا شما تابحال راجع به تعریف خودتان از علم داده و اینکه چگونه میتواند نیاز مشتری را رفع نماید، فکر کردهاید؟
- چگونه در مشتری اعتماد ایجاد میکنید؟ اگر شخصی از مشتریان در خصوص شما بپرسد، چه خواهند گفت؟
چک لیست اعتبار مدل:
الف: مدلهای قابل تفسیر
- با توجه به دادههایی که دارید و میزان احتمالی که آنها ممکن است مفروضات لازم را نداشته باشند، آیا میتوانید مدلی به اندازهی کافی صحیح را توسعه دهید که ذاتاً تفسیرپذیر باشد؟ همانند مدل خطی تعمیم یافته و یا درخت تصمیم.
- آیا مدلی جدید و خلاقانه جهت تفسیر نتایج الگوریتم پیچیدهی شما که در حال استفاده از آن هستید وجود دارد؟
- آیا میتوانید به مشتری و کاربر دسترسی به توضیحات را بدهید؟ هم در سطح موردی و هم بطور جامع.
- آیا میتوانید سطحی از عدم قطعیت آیا میتوانید سطحی از عدم قطعیت در پیشبینی مدلتان را به کاربر توضیح بدهید؟
ب: ارائهی مدل:
- آیا متغیرها در مدل شما اسامی با معنی دارند؟
- آیا کاربر شما به آسانی میتواند توضیحاتی در خصوص هر نسبت، و یا سایر فرمولها را که در طول مدل استفاده شده، بیابد؟
- اگر کاربران شما از طریق یک پلتفرم وب-اپ و یا هر اپلیکیشن دیگری به مدل شما دسترسی مییابند، آیا رابطهای کاربری طراحی شده به کاربر اجازهی دسترسی سریع به تعاریف و توضیحات برای دادههای ورودی و خروجی را میدهد؟
پ: مدلهای سازگار با خودشان و نظرات متخصصین حوزه:
- آیا متخصصین حوزه (Subject Matter Experts) فرصتی برای مرور یافتههای شما پیدا کردند؟ بررسی اینکه تکتک نتایج با معنی است و اینکه آیا آنها با ورودیها مرتبط هستند یا خیر.
- آیا روابط غیرخطی مهم را با متخصصین حوزه مرور کردید تا مطمئن شوید که آن روابط با فیلد کاری تطابق دارند؟
- آیا مدل خود را به سایر دیتاساینتیستها نشان دادید تا مرور کنند که آیا مدلتان دارای نتایج قوی و مطلوب است یا خیر؟
- آیا ویژگیهایی که مدل شما مهم تشخیص داده است را با ویژگیهای مهم از نظر متخصصین حوزه مقایسه کردید؟
- آیا روابط ناقص یا نامطلوب را بعد از بررسی و شناسایی، حذف یا تغییر دادید؟
چک لیست مدلهای قابل اعتماد:
- آیا یک ارزیابی ریسک قبل از پیادهسازی انجام دادهاید؟
- آیا سیستم مانیتورینگ کیفیت دادههای ورودی و توزیعهای آماریشان را ایجاد کردهاید؟ در خصوص خروجیها چطور؟
- اگر دادهها خارج از محدوده باشند، آیا طرحی برای اقدام یا بررسی دارید؟
- آیا میدانید که کدام جنبه از کیفیت دادهها به پیادهسازی مرتبط است؟ چگونه میتوانید چنین موردی را شناسایی کنید؟
- آیا یک برآورد کلی از خروجی و نتایج مدل دارید و تلاش نمودهاید تا نتایج ناخواسته و غیر مترقبه را کشف نمائید؟
- آیا توافقی بین شما و کاربران مبنی بر اینکه چگونه مدلتان چک خواهد شد وجود دارد؟ چگونه این توافق را مکتوب کردهاید؟
چک لیست ارتقاء شغلی:
- آیا یک برگهی توضیحات کوتاه (Whitepaper)که بینشهای کسب شده توسط شما را به نمایش خواهد گذاشت که در عین حال توانمندیهای تیمتان را نیز نشان میدهد، طراحی کردهاید؟
- آیا یک برگهی توضیحات کوتاه که به خواننده اطلاعات لازم در خصوص شما جهت کسب اعتماد و اینکه چقدر در حوزهی کاری خود مهم هستید را طراحی کردید؟
- آیا کارهایتان را برای یک دورهمی در سازمان خود ارائه کردید؟ تا حدودی با چیزهایی که به مشتریهای خارج سازمان میگویید متفاوت باشد.
- آیا در خصوص کارهایتان در سطح وب نوشتهاید، بقسمی که در این متون، مواردی را که در جلسات نتوانستید ذکر کنید، اشاره شده باشد؟ و یا برخی از درسهایی که از انجام پروژهها گرفتهاید را شرح داده باشد؟
- آیا جلسات پیشروی خود جهت ارائه دستآوردهایتان را در دفترچهای ثبت میکنید تا نظم کاریتان بیشتر شود؟
چک لیست کارایی تیمی:
- آیا یک فرایند بازنگری (به عقب) برای تیم که تلاش میکند تا درسهای گذشته را به اشتراک بگذارد، تدوین کردهاید؟
- آیا روشهای کسب توجه مازاد به عناصر انسانی را در هنگام بازنگری تمرین کردهاید؟
- آیا مواردی که در بازنگریها بدست آمده را در امور جاری عادیتان بکار میگیرید؟
- آیا یک مجموعه از لغات استاندارد برای مفاهیم دیتاساینس و کسب وکاری را که قابل استفاده در تیم خود باشد و روشی استاندارد برای شناخت و فهم اولویتها تدوین کردهاید؟
- آیا یک بینش و تصور (vision) تیمی که از هر یک از اعضای تیم آغاز میشود را ساختهاید؟ (تمامی اعضای تیم در کسب آن نقش داشته باشند).
- آیا مهارتهای لازم در تیم علم دادهی خود را بررسی کردهاید و آیا مهارتهای موجود در سایر بخشهای سازمان خود را نیز برای اطمینان از وجود مهارتها در تیم، بررسی نمودید؟ (در مواقعی آنقدر نیاز به انجام یک کار بصورت اورژانسی وجود دارد که اگر همکاران داخل سازمان و مهارتهایشان را بخوبی شناخته باشیم، بسیار کارگشا خواهد بود)
✅ این چک لیست بخشی تکمیلی از کارگاه «مدیریت پروژههای علم داده» است که اخیراً با همت مرکز آموزشهای آزاد دانشگاه گنبدکاووس و گروه علم داده، دکتر محمد فزونی، برگزار شد. علاقمندان، از چهار کشور مختلف در این کارگاه حضور داشتند ✅
گردآوری و تنظیم: گروه علم داده، دکتر محمد فزونی
منابع:
- Managing Your Data Science Projects: Learn Salesmanship, Presentation, and Maintenance of Completed Models, by Robert de Graaf (Main Reference).
- Common Data Sense for Professionals by Rajesh Jugulum.
- Fundamentals of Machine Learning for Predictive Data Analytics, Algorithms, Worked Examples, and Case Studies, by John D. Kelleher, Brian Mac Namee, and Aoife D’Arcy.
- A bunch of other articles, especially from Towards Data Science website.