علم داده یا همان دیتاساینس به عنوان ترکیبی از ابزارها، الگوریتم‌ها، اصول و قوانین یادگیری ماشین (Machine Learning) تلقی می‌گردد که هدف نهایی آن دستیابی به الگوهای موجود در داده‌های خام است. حال ممکن است این سوال به وجود آید که تفاوت علم داده (data science) با کاری که متخصصین آمار انجام می‌دهند در چیست؟

تفاوت این دو، مانند تفاوت “توضیح دادن” و “پیش‌بینی کردن” است. به تصویر زیر دقت کنید:

what is data science

 

همان‌طور که می‌بینید یک تحلیلگر داده (Data Analyst) معمولا با پردازش و تحلیل داده‌های گذشته، به توضیح روندهای مربوط به داده‌های مد نظر می‌پردازد. این در حالی است که یک دانشمند داده (Data Scientist)، نه تنها به بررسی و تحلیل داده‌های گذشته می‌پردازد، بلکه از الگوریتم‌های پیشرفته‌ی یادگیری ماشین نیز استفاده می‌کند تا روند داده‌ها در آینده را نیز پیش‌بینی کند. پس می‌توان گفت یک دانشمند داده می‌بایست از زوایای مختلفی به داده‌ها نگاه کند.

بنابراین علم داده (data science) اساسا برای تصمیم‌گیری و پیش‌بینی آینده با استفاده از تحلیل و پیش‌بینی علی و معلولی (Predictive Causal Analytics)، تحلیل تجویزی (Prescriptive Analytics)، پیش‌بینی با استفاده از یادگیری ماشین (Machine Learning for Making Predictions) و الگویابی با استفاده از یادگیری ماشین (Machine Learning for Pattern Discovery) استفاده می‌شود که توضیح هر کدام به شرح زیر است:

تحلیل و پیش‌بینی علت و معلولی (Predictive Causal Analytics):

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

تحلیل تجویزی (Prescriptive Analytics):

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

پیش بینی با استفاده از یادگیری ماشین (Machine Learning for Making Predictions):

تصور کنید که به داده‌های مالی یک شرکت دسترسی دارید و می‌خواهید روند داده‌ها در آینده را تعیین کنید. در این حالت، الگوریتم‌های یادگیری ماشین بهترین روش تلقی می‌گردند. برای این گونه مدل‌ها اصطلاح Supervised به کار می‌رود. به عنوان مثال می‌توان به یک مدل شناسایی تقلب در تراکنش‌های مالی (Fraud Detection) اشاره نمود که بر اساس سوابق تخلف مالی در گذشته ساخته می‌شود.

الگویابی با استفاده از یادگیری ماشین (Machine Learning for Pattern Discovery):

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

حال به معرفی گام‌های موجود در علم داده می‌پردازیم:

علم داده چیست؟

 

۱-پیدا کردن داده (Discovery):

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

۲-آماده‌سازی داده (Data Preparation):

در این گام شما باید قبل از مدلسازی، فرآیند ETL  که شامل استخراج داده (Extract)، تغییر داده (Transform) و بارگذاری داده (Load) است را انجام دهید.

۳-طرح اولیه برای مدلسازی (Model Planning):

برای ایجاد رابطه بین متغیرها، باید از روش‌ها و تکنیک‌های خاصی استفاده نمایید. این روابط، پایه‌ و مقدماتی هستند که در گام بعدی برای کار با الگوریتم‌ها به کار می‌روند. در واقع شما باید با استفاده از ابزارهای مصورسازی و فرمول‌های آماری مختلف، آنالیز اکتشافی داده (EDA: Exploratory Data Analytics)  را انجام دهید.

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

۴-ساخت مدل(Model Building):

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

۵-مرحله Operationalize:

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

۶-بررسی نتایج (Communicate Results):

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

منبع