این روزها حرفهای زیادی در مورد علم داده یا همان دیتاساینس شنیده میشود. دیتا ساینس دانشی است که از داده برای فهم مسئله و البته پیدا کردن راه حل برای آن ، استفاده میکند. مثلا بالا بردن میزان فروش، پیدا کردن مشتریان احتمالی یک کسب و کار میتواند از نمونه کاربردهای علم داده باشد. اصطلاحات دیگری مانند هوش مصنوعی، ماشین لرنینگ و دیپ لرنینگ نیز وجود دارند که در ادامه این نوشته با این مفاهیم آشنا میشویم.
دیتا ساینتیست کیست؟
دانشمند داده ، کسی است که با استفاده از دادهها، میتواند مسئله را ببیند ، بفهمد و با ارائه راه حل سیستم را در جهت اهداف مطلوب ، در مسیر درست هدایت کند. خبر خوب این است که با استناد به آمار سایتهای کاریابی معتبر، شغل دیتا ساینتیست ، جذابترین شغل در قرن 21 لقب گرفته و نیاز به متخصصین این رشته روز به روز در حال افزایش میباشد.
هوش مصنوعی چیست؟
هوش مصنوعی یا AI -artificial intelligence سعی دارد در انجام کارها از انسان تقلید کند. پردازش زبان طبیعی (NLP) ، رباتیک و بینایی کامپیوتر نمونههایی از گرایشهای هوش مصنوعی هستند. همچنین تشخیص الگو (pattern recognition) و یادگیری عمیق (deep learning) از دیگر گرایشهای هوش مصنوعی هستند.
ماشین لرنینگ چیست؟
ماشینلرنینگ زیرشاخهای از هوش مصنوعی است که هدف آن این است که ماشین بتواند مانند انسان رفتار کند و در این مسیر از دیتا کمک میگیرد. مثلا برنامهای که با دیدن تصاویر، سگ و گربه بتواند آنها را تمییز و تشخیص دهد نمونهای از کاربرد علم ماشین لرنینگ است.
دیپ لرنینگ چیست؟
دیپ لرنینگ شاخهای از هوش مصنوعی است که از مغز انسان الگو گرفته و از ساختار Artificial neural network استفاده میکند. این گرایش به سرعت در حال رشد بوده و مزایای زیادی دارد. اما در کنار این مزیتها معایبی مانند حجم زیاد دیتای مورد نیاز ، توان پردازشی مورد نیاز بالا برای محاسبه و همچنین زمان زیاد برای طی کردن Learning دارد. فریم ورکهایی مثل tensorflow، Pytorch و Keras از پرکاربردترینها در این گرایش هستند.
بیگ دیتا چیست؟
همونطور که از نام آن مشخص است، دیتاهایی که حجم زیادی داشته باشند را Bigdata مینامیم. مثلا در یک دقیقه 188 میلیون ایمیل در سراسر دنیا ارسال میشود. به طور کلی دیتا میتواند در قالب های مختلفی وجود داشته باشد
.1- ساختار یافته یا Structured مثل فایلهای اکسل
2- نیمه ساختار یافته یا Semi Structured3-
3- غیر ساختاریافته
ابزارهای مورد نیاز برای یادگیری دیتا ساینس:
jupiter notebook وgoogle colab دو ابزاری هستند که برای یادگیری علوم داده میتوان از آنها استفاده نمود. مورد اول نیازی به اینترنت ندارد ولی برای استفاده از مورد دوم (گوگل کولب) دسترسی به اینترنت الزامی است. برای نصب چوپیتر نوتبوک از لینکهای آموزشی زیر استفاده نمایید:
1- آموزش نصب ژوپیتر نوت بوک از کانال یوتیوب MoriaDataLand : (لینک)
2- آموزش نصب از کانال آپارات آقای جعفری (لینک)
متدولوژی یا روش شناسی چیست؟
متدولوژی یک سیستم ، مجموعهای از متدها است که برای شناخت و بررسی یک موضوع مشخص در کنار یکدیگر قرار میگیرند. متدولوژی در دیتا ساینس باید به ده سوال پاسخ بدهد:
1- فهم مسئله.
ما به دنبال چه هستیم؟ممکن است برای جواب دادن به این سوال تیمهای مختلفی در کنار یکدیگر قرار گیرند و حتی مطالعات مفهومی (Conceptual Study) انجام دهند.
2- به چه روشی باید مسئله را حل کنیم؟
برای مثال آیا خروجی ما بله/ خیر باشد یا به صورت دستهبندی کردن و یا مشخص کردن عدد معین و دقیق.
3- به چه داده هایی نیاز داریم؟
در این مرحله نیز ممکن است تیمهای مختلف با یکدیگر مشورت کنند.
4- دادهها را از کجا جمع آوری کنیم؟
برای مثال شرکتهای بزرگ مثل گوگل وIBM خودشان دادههای زیادی در اختیار دارند ولی شرکتهای کوچکتر ممکن است دادهها را از شرکتهای بزرگتر خریداری کنند. در بحث آموزش ممکن است نمونه دادهها را از سایتها دریافت کنیم. برای مثال سایتهای آموزشی مانند Kaggle دیتاهای نمونه را در اختیار کاربران قرار میدهند. همچنین ممکن است We scrapping انجام دهیم و دیتای مورد نظر خود را از سایتهای مختلف استخراج کنیم.
5- آیا مقدار داده ها کافی هستند؟
برای مثال در روش دیپ لرنینگ به مقدار داده بیشتری نیاز داریم.
6- آماده سازی داده
7-leaning & Preparation
پیدا کردن مدل مناسب یا data modeling یعنی اینکه از میان روشهای موجود کدام روش را برای حل مسئله خود انتخاب کنیم؟
8- ارزیابی -Evaluation
آیا مدل استفاده شده به درستی پاسخ مسئله را میدهد. آیا مدل ما به اندازه کافی دقیق Accurate هست یا نه. برای مثال در مسائل پزشکی دقت بالاتری نسبت به سایر مسائل نیاز است. اما در مسائلی که کمتر بحرانی باشند ممکن است میزان دقت 70 درصد نیز برای ما کافی باشد.
9- آیا مدل بدست آمده قابل اجراست؟
10 – آیا مدل بدست آمده قابل فیدبک گذاری سازنده است؟
اگر این قابلیت وجود داشته باشد، میتوان مدل را به تدریج بهبود بخشید.
متودولوژی Crisp-DM چیست؟
این متد مدتها پیش توسط متخصصان IBM ابداع گردیده که شش تا مرحله دارد:
1- Business understanding
2- data understanding
موردی که در این قسمت اهمیت زیادی دارد، Domain Knowledge است. برای مثال در مورد یک مسئله پزشکی ، شناخت پارامترهای دیتاهای موجود و چگونگی وابستگی آنها با یکدیگر بسیار اهمیت دارد.
3-prepare data
یکی از زمانبرترین بخشهای حل یک مسئله مربوط به این مرحله میباشد. بنابراین نیاز به صبر و حوصله زیادی در این مرحله می باشد.
4-model data
5- evaluation
6-deployment & feedback
این دو مرحله معمولا مربوط به پروژههای بزرگ می باشد.
تمرین :
1- نصب jupyter Notebook
2-ساخت اکانت گیت هاب +
در نوشته بعدی کار با پایتون را شروع میکنیم.