نقشه راه پروژه‌های عملیاتی در علم داده

نقشه راه پروژه‌های عملیاتی در علم داده

نوشته شده توسط: امیر باقری
۰۲ شهریور ۱۳۹۸
زمان مطالعه: 18 دقیقه
۰
(۰)

مقدمه

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

جمع آوری داده

در ابتدای هر پروژه‌ی داده محور، اولین نیاز ما دریافت داده است. در این مرحله به طور ساده ما نیاز داریم از منابع گوناگون داده‌های مورد نیاز خود را جمع آوری کنیم. گاها نیاز داریم تا در یک یا چند پایگاه داده رابطه‌ای کوئری بنویسیم. این پایگاه داده می‌تواند MS-S، Mysql، Oracle و یا دیگر پایگاه داده‌های رابطه‌ای باشد. ممکن است داده در یک فایل اکسل و حتی یک فایل متنی ساده ارائه شود. بعید نیست داده در قالب یک پایگاه داده Nosqlباشد و یا حتی در هیچ جا ذخیره نشده باشد و در متن یا محتوای یک وب سایت باشد و ما باید بتوانیم داده‌های خود را جمع آوری کنیم. این کار از طریق متصل شدن بهWeb API ممکن است. که ازین طریق می‌توان داده‌ها را به صورت قانونی و با رضایت مقصد دریافت کرد.

مسلم این است که تقریبا در محیط عملیاتی هیچ گاه یک دیتا ست تمیز مانند آنچه امروز برای مقالات و تدریس استفاده می‌شود، به شما داده نخواهد شد. پس ما باید به عنوان یک دانشمند علم داده یا داوطلب داشمند علم داده شدن این تکنیک‌ها را فرا بگیریم. بدانیم چگونه کوئری بنویسیم و اگر با داده‌های زیادی سرو کار داریم، بدانیم چگونه کوئری بهینه بنویسیم. چگونه با No SQL کار کنیم، و اگر داده‌هایمان بسیار حجیم شدند، به اندازه نیاز خودمان با محیط‌های نگهداری داده توزیعی مانند Hbase ،HDSF و بسیاری دیگر آشنا باشیم. در یک پروژه باید تجربیات عملی وسیعی داشته باشیم و بطور مثال بدانیم در کدام بخش از بین SparkSqlAPI , Hive, MsSQL می‌توانیم بهینه‌تر سیستممان را بسازیم. آیا به Kafka نیاز داریم؟ آیا Pandas Data Frame برای ما کافی است؟ و بسیاری سوالات دیگر

پاکسازی، آماده‌سازی و فیلترینگ

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

  •  کانورت فرمت داده از متن به ساختار یافته و برعکس
  •  تجمیع چندین فایل در یک فایل
  •  پر کردن مقادیر از دست رفته و یا خالی
  •  گرفتن نویز داده
  •  نرمال سازی
  •  پاکسازی

اگر ما با حجم کمی از داده کار می‌کنیم برای پیشبرد این بخش نیاز به دانش برنامه نویسی و مدیریت داده داریم. بطور مثال اگر با پایتون کدنویسی می‌کنیم باید آشنایی کافی با کتابخانه Pandas داشته باشیم که یک ابزار بسیار مناسب است و تقریبا اکثر نیازمندی‌های ما را مرتفع می‌کند. اگر با داده‌های حجیم کار می‌کنیم نیاز به دانش کلان داده، هر چند مختصر، داریم و باید با برنامه نویسی با Spark ، Map-Reduce و احتمالا Hive آشنایی لازم را داشته باشیم.

کند و کاو در داده‌ها (Data Exploration)

بر خلاف تصور ما از دیتا ست که فایلی است حاوی چندین خصیصه که نهایت کند و کاو و پیش پردازش ما روی آن شامل کم کردن نویز، نرمال سازی و کم کردن خصیصه هاست، در دنیای واقعی دیتا ستی وجود ندارد. معمولا کار فرما به شما فایلی می‌دهد و می‌گوید: ببین با اینها چه کاری می توانی انجام دهی؟ یا اگر کارفرمای شما به اندازه کافی در کسب و کارش خبره باشد می‌تواند اهداف کلی خود را برای شما بیان کند و این به هنر، علم و ابتکار شما بستگی دارد که بتوانید هدف مورد نظر را از دل داده‌های موجود بیرون بکشید.
برای تبدیل مسئله به یک موضوع قابل لمس در علم داده، ما باید مسیرهای گوناگونی را طی کنیم که یکی از آن‌ها تعیین نوع داده‌ها است. به طور مثال خصیصه‌ها “Features/Attributes” عددی هستند یا اسمی؟ اگر عددی هستند پیوسته هستند یا گسسته ؟ و مشخصاتی از این قبیل. خصیصه‌ها همان بندهای توصیفی یک شی است. به‌طور مثال یک انسان خصایصی از قبیل سن، جنسیت، اسم، مقدار درآمد ماهیانه ، نوع شغل، رشته تحصیلی، قد و … دارد. که بعضی از این خصیصه‌ها مانند قد و حقوق نوعشان اعداد حقیقی و پیوسته هستند و خصیصه نوع شغل اسمی است.

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

مدل سازی

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

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

تفسیر نتایج

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

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

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

اولین نفر باش

title sign
معرفی نویسنده
امیر باقری
مقالات
3 مقاله توسط این نویسنده
محصولات
2 دوره توسط این نویسنده
امیر باقری

امیر باقری مدیریت داده کاوی و تحلیل داده و مشاور فنی در زمینه راهکارهای مبتنی بر علم داده است. وی فارغ التحصیل مهندسی کامپیوتر از دانشگاه پیزا و پلی تکنیک میلان ایتالیا است و در حال حاضر کاندیدای دکتری پردازش متن حجیم Big Text Mining است. حیطه تخصصی وی در دو زمینه کلی شامل رمز نگاری و علوم داده است. اکثر پروژه‌های ایشان در زمینه‌های فرایند داده کاوی و هوش مصنوعی بوده است‌.عمده پروژه‌های ایشان شامل: کشف تقلب در سیستم‌های بانکی و پشتیبانی محصول، تشخیص تخلف در خود اظهاری بر اساس تراکنش و یا دیگر خصیصه‌های مالی و غیر مالی، OSINT ، بوده است.

پروفایل نویسنده
title sign
معرفی محصول
title sign
دیدگاه کاربران

وبینار رایگان ؛ Power BI کلید رقابت شما در دنیا داده‌ها      چهارشنبه 12 اردیبهشت ساعت 15
ثبت نام رایگان
close-image