مهارت های مهم برای دانشمندان داده در سال ۹۹ — به همراه منابع یادگیری
در این مطلب، مهارت های مهم برای دانشمندان داده در سال ۹۹ مورد بررسی قرار گرفته است. «علم داده» (Data Science) هنر ترکیب ابزارهای مناسب برای حل یک مسئله خاص است. در واقع، علم داده به معنای استخراج دانش از دادهها برای پاسخ دادن به یک پرسش مشخص و توانمندی آن است که به کسب و کارها و ذینفعان برای اتخاذ تصمیمات آگاهانه و حل مسائل با بهرهگیری از دادهها کمک کند.
مهارت های مهم برای دانشمندان داده در سال ۹۹
آگاهی از اینکه چه مهارتهایی در راستای شغل فرد میتواند به او در ارتقای سطح مهارتهایش و در نتیجه بهبود شرایط شغلی کمک کند، موضوع مهم و جالب توجهی است. در این مطلب، این موضوع برای «دانشمندان داده» (Data Scientists) مورد بررسی قرار گرفته است.
در واقع، مهارتهایی که افراد باید برای مبدل شدن به یک دانشمند داده و کسب یک جایگاه شغلی در این حوزه بیاموزند، مورد بررسی قرار گرفته است.
آمار و احتمال
در علم داده، از فرایندها، الگوریتمها و یا سیستمها برای استخراج دانش، بینش و انجام تصمیمگیریهای آگاهانه بر اساس دادهها، استفاده میشود. در این حالت، استنتاج کردن، تخمین زدن یا پیشبینی، بخش مهمی از علم داده را شکل میدهد.
احتمال به کمک روشهای آماری، امکان انجام تحلیلهای بیشتر را فراهم میکند. آمار بیشتر وابسته بر نظریه احتمالات است. به بیان سادهتر، هر دو این مباحث به یکدیگر مرتبط هستند. چه کارهایی را میتوان در علم داده، با استفاده از آمار و احتمالات انجام داد؟
- اکتشاف و درک بیشتر پیرامون دادهها
- شناسایی روابط اساسی یا وابستگیهای موجود بین دو یا چند متغیر
- پیشبینی گرایشهای آینده یا پیشبینی یک جهش (Drift) بر اساس گرایشهای پیشین دادهها
- تعیین الگوها یا گرایشهای دادهها
- پردهبرداری از «ناهنجاری» (Anomaly) در دادهها
به طور خاص، برای شرکتهای دادهمحوری که ذینفعان آنها برای انجام تصمیمگیریهای خود به دادهها و طراحی و ارزیابی مدلهای داده وابسته هستند، آمار و احتمال، بخش مهمی از علم داده محسوب میشود.
منبع پیشنهادی جهت یادگیری آمار و احتمال:
محاسبات چند متغیره و جبر خطی
اغلب مدلهای «یادگیری ماشین» (Machine Learning) و علم داده، با استفاده از چندین پیشبین یا متغیر ناشناخته ساخته شدهاند. دانشی پیرامون محاسبات چند متغیره برای ساخت یک مدل یادگیری ماشین لازم است.
در ادامه، برخی از مباحث ریاضی که باید در علم داده به کار با آنها آشنا بود، بیان شدهاند.
- مشتقات و گرادیان
- «تابع پلهای» (Step Function)، «تابع سیگموئید» (Sigmoid Function)، «تابع لوجیت» (Logit Function)، «تابع واحد یکسوساز خطی» (Rectified Linear Unit Function | ReLU)
- تابع هزینه (Loss Function)
- ترسیم نمودار توابع
- مقادیر بیشینه و کمینه برای یک تابع
- توابع عددی، برداری، ماتریسها و تانسورها
منابع پیشنهادی جهت یادگیری محاسبات چند متغیره و جبر خطی:
مهارت برنامهنویسی
علم داده اساسا حول محور برنامهنویسی در حرکت است. مهارتهای برنامهنویسی برای علم داده همه مهارتهای اساسی مورد نیاز برای تبدیل دادههای خام به بینش کاربردی را فراهم میکنند. در حالی که هیچ قاعده مشخصی پیرامون انتخاب زبانهای برنامهنویس وجود ندارد، «زبان برنامهنویسی پایتون» (Python Programming Language) و «R» محبوبترین زبانها هستند.
حقیقت این است که در بحث علم داده، تعصبهای موجود در میان برنامهنویسان، خریداری ندارد و دانشمند داده باید زبانی را انتخاب و استفاده کند که نیازهای مسئله بیان شده را پاسخگو است. اگرچه، به نظر میرسد که زبان برنامهنویسی پایتون، بهترین زبان میانجی (Lingua Franca) برای علم داده است.
برای مطالعه بیشتر پیرامون کتابخانههای علم داده پایتون، مطالعه مطالب زیر، پیشنهاد میشود.
- ۱۳ کتابخانه یادگیری عمیق پایتون — راهنمای کاربردی
- ۱۰ کتابخانه پایتون علم داده — راهنمای کاربردی
- ۸ کتابخانه یادگیری ماشین پایتون — راهنمای کاربردی
- تقلب نامه (Cheat Sheet) کتابخانه های پایتون — راهنمای کامل و سریع
در ادامه، لیستی از زبانهای برنامهنویسی که میتوان از آنها برای علم داده استفاده کرد، بیان شده است.
- پایتون
- R
- اسکیال (SQL) (زبان پرسش و پاسخ)
- جاوا
- جولیا
- اسکالا
- متلب
علم داده بدون تجربه کدنویسی یا دانش کدنویسی، کار دشواری خواهد بود.
منابع پیشنهادی جهت مهارت برنامهنویسی:
- مجموعه آموزشهای برنامه نویسی R و نرم افزار RStudio
- برنامهنویسی پایتون
- مجموعه آموزشهای جاوا
- مجموعه آموزشهای پایگاه داده
آمادهسازی دادهها
معمولا، دادههایی که یک کسب و کار گردآوری میکند برای مدلسازی آماده نیستند. بنابراین، درک چگونگی کار کردن با دادههای غیر کامل، مسئله مهم و قابل توجهی است. آمادهسازی دادهها (پیشپردازش | Preprocessing) فرایندی است که طی آن، کارشناس، دادههای خود را برای تحلیلهای بعدی آماده و دادههای خاص را از یک شکل به شکل دیگری نگاشت میکند تا دادهها را برای کسب بینش آماده کند.
برای آمادهسازی دادهها، افراد اساسا نیاز به ترکیب دادههای مرتبط و سپس، پاکسازی دادهها دارند.در ادامه، به این پرسش که چه کارهایی را میتوان با پاکسازی دادهها انجام داد، پاسخ داده شده است.
- آشکارسازی یک هوشمندی عمیق نهفته در پس دادهها با گردآوری دادهها از کانالهای گوناگون
- فراهم کردن یک ارائه بسیار صحیح از دادههای کاربردی برای کسب و کار و تحلیلگر داده در زمان مناسب
- کاهش زمان پردازش و زمان صرف شده برای گردآوری و سازماندهی دادههای نامرتب پیش از مورد استفاده قرار دادن آنها
- قادر ساختن دانشمندان داده برای تمرکز بیشتر روی تحلیل دادهها به جای بخش پاکسازی
- هدایت فرایند تصمیمگیری دادهمحور در مسیری که توسط دادههای صحیح پشتیبانی میشود
منابع پیشنهادی جهت آمادهسازی دادهها:
- آموزش روشهای پیش پردازش دادهها
- آموزش کار با پیش پردازشها در یادگیری ماشین با پایتون
- آموزش تبدیل لگاریتمی و تفاضلگیری در پیشپردازش سریهای زمانی
مدیریت پایگاه داده
دانشمندان داده افراد همه فن حریفی هستند. آنها باید ریاضیات، آمار، برنامهنویسی، مدیریت داده و بصریسازی بدانند و اینها صرفا لازمه مبدل شدن فرد به دانشمند داده و نه دانشمند داده فول استک، است. همانطور که پیش از این نیز اشاره شد، ۸۰ درصد از تلاشهای انجام شده برای آمادهسازی داده برای پردازشهای صنعتی است. با توجه به بخشهای عظیم دادهای که فرد نیاز به کار با آنها دارد، دانشمند داده باید چگونگی مدیریت دادهها را نیز بداند.
مدیریت دادهها شامل گروهی از برنامههایی است که میتواند پایگاه داده را ویرایش، اندیسگذاری و دستکاری کند. «سیستمهای مدیریت پایگاه داده» (DataBase Management Systems | DBMS)، درخواست ایجاد شده برای دادهها از یک برنامه کاربردی را میپذیرند و به «سیستمعامل» (Operating System) دستور میدهند تا دادههای خاص درخواست شده را فراهم کند. در سیستمهای بزرگ، یک سیستم مدیریت پایگاه داده به کاربران کمک میکند تا دادهها را در هر زمانی ذخیره و بازیابی کنند.
در ادامه، به این پرسش پاسخ داده میشود که از از مدیریت پایگاه داده در علم داده چه استفادههایی میتوان کرد.
- تعریف، بازیابی و مدیریت دادهها در پایگاه داده
- دستکاری خود دادهها، قالب داده، اسامی فیلدها، ساختار رکورد و ساختار فایل
- تعریف قواعد برای نوشتن، اعتبارسنجی و ارزیابی دادهها
- پردازش روی سطح رکورد پایگاه داده
- پشتیبانی از محیط چند کاربری برای دسترسی داشتن و دستکاری دادهها به صورت موازی
برخی از پایگاه دادههای محبوب عبارتند از: مایاسکیوال (MySQL)، اسکیوال سرور (SQL Server)، اوراکل (Oracle)، آیبیام دیبی۲ (IBM DB2)، پُستگْرِسکیواِل (PostgreSQL) و پایگاه دادههای نواسکیوال (NoSQL) مانند مانگودیبی (MongoDB)، کوچدیبی (CouchDB)، دینامودیبی (DynamoDB)، «اچبیس» (HBase)، نئو۴جی (Neo4j)، آپاچی کسندرا (Cassandra) و «رِدیس» (Redis).
بصریسازی دادهها
چرا «بصریسازی دادهها» (Data Visualization) الزامی است؟ دادههای بصری در واقع یک ارائه گرافیکی از یافتهها از دادههای تحت نظر هستند. بصریسازی به داشتن تعامل موثر و اکتشافات دارای نتیجه منجر میشود. بصریسازی دادهها این قدرت را به کارشناس میدهد که وقایع را از روی دادهها کشف کنند و یک ارائه جامع بسازند.
بصریسازی دادهها یکی از حیاتیترین مهارتها است، زیرا صرفا پیرامون ارائه نتایج نهایی نیست؛ بلکه به درک و یادگیری دادهها و آسیبپذیریهای آنها مربوط میشود. همیشه، به تصویر کشیدن خروجیها، بهتر از ارائه ارقام و اعداد یا متنهای طولانی و پیچیده است. مقادیر واقعی به صورت بصری به خوبی قابل درک هستند. هنگامی که بصریسازی انجام میشود، اطلاعات معناداری حاصل میشود که به طرز عجیبی قدرت تحت تاثیر قرار دادن سیستم را دارد. در ادامه، به این پرسش که برای بصریسازی دادهها چه اقداماتی میتوان انجام داد، پاسخ داده شده است.
- ترسیم نمودار برای ارائه بینش قدرتمند
- تعیین رابطه بین متغیرهای ناشناخته
- بصریسازی نواحی که نیازمند بهبود یا توجه هستند
- تعیین عاملهایی که رفتار مشتری را تحت تاثیر قرار میدهند
- درک اینکه چه محصولی در کجا قرار بگیرد
- نمایش گرایشها از اخبار، ارتباطات، وبسایتها و رسانههای اجتماعی
- بصریسازی حجم انبوه اطلاعات
- گزارش مشتریان، کارایی کارکنان و نقشه فروش فصلی
- استراتژی بازاریابی ابداعی که بخشهای گوناگونی از مشتریان را هدف قرار میدهد
یادگیری ماشین / یادگیری عمیق
در سازمانهایی که حجم انبوهی از دادهها مدیریت و پردازش میشود و تصمیمگیریهای آنها دادهمحور است، نیاز به مهارتهای یادگیری ماشین است و در واقع، این حوزه متقاضی خواهد داشت. یادگیری ماشین زیرمجموعهای از اکوسیستم علم داده است، درست مانند آمار و احتمالات که برای مدلسازی دادهها و به دست آوردن نتایج کاربرد دارند.
یادگیری ماشین برای علم داده شامل الگوریتمهایی میشود که در قلب یادگیری ماشین هستند. «K نزدیکترین همسایگی» (K-nearest Neighbors)، «جنگل تصادفی» (Random Forests)، «نایو بیز» (Naive Bayes) و «مدلهای رگرسیون» (Regression Models) از جمله این مدلها هستند. کتابخانههای پایتون «پایتورچ» (PyTorch)، «تنسورفلو» (TensorFlow) و «کرس» (Keras) نیز در یادگیری ماشین و برای علم داده بسیار کاربردی و مفید هستند.
پرسشی که در این وهله مطرح میشود آن است که با استفاده از یادگیری ماشین، چه اقدامی میتوان برای علم داده انجام داد؟ در پاسخ به این سئوال، میتوان به موارد زیر اشاره کرد.
- تشخیص کلاهبرداری و مدیریت ریسک
- بهداشت و درمان (یکی از زمینههای پر رونق در بحث علم داده که شامل ژنتیک، ژنومیک و تحلیل تصاویر میشود)
- برنامهریزی مسیر هواپیمایی
- فیلترینگ خودکار اسپم
- سیستمهای خودکار بازشناسی چهره و صدا
- تلفن گویای بهبود یافته (Interactive Voice Response | IVR)
- بازشناسی و ترجمه اسناد و زبان جامع
منابع پیشنهادی جهت یادگیری ماشین / یادگیری عمیق:
رایانش ابری
فعالیتهای علم داده معمولا شامل استفاده از محصولات و خدمات «رایانش ابری» (Cloud Computing) برای کمک به کارشناسان داده برای دسترسی داشتن به منابع مورد نیاز برای مدیریت و پردازش دادهها است. یکی از فعالیتهای مهم دانشمندان داده، تحلیل و بصریسازی دادههای ذخیره شده در ابر است.
احتمالا این گفته به گوش بسیاری از افراد آشنا است که علم داده و رایانش ابری دست در دست یکدیگر هستند، زیرا رایانش ابری به افراد کمک میکند تا از سکوهایی مانند آژور، AWS و گوگل کلود که دسترسی به پایگاه دادهها، چارچوبها، زبانهای برنامهنویسی و ابزارهای عملیاتی را فراهم میکنند. با توجه به این حقیقت که علم داده شامل تعامل با حجم انبوهی از دادهها میشود، اندازه و دسترسیپذیری ابزارها و پلتفرمها، موجب درک این موضوع میشود که مفهوم ابر و رایانش ابری نه فقط مبحثی مرتبط به علم داده که مهارتی حیاتی برای علم داده است. چه اقداماتی را میتوان با بهرهگیری از رایانش ابری برای علم داده انجام داد؟
- اکتساب دادهها
- تجزیه کردن، آمادهسازی، پیشپردازش، تبدیل و تحلیل داده
- دادهکاوی (تحلیل داده اکتشافی، آمار خلاصه و ...)
- تایید اعتبار و ارزیابی مدلهای پیشبین، سیستمهای توصیهگر و چنین مدلهایی
- تنظیم متغیرهای داده و بهینهسازی کارایی مدل
برخی از پلتفرمهای محبوب ابری عبارتند از «آمازون وب سرویس» (Amazon Web Services)، «ویندوز آژور» (Windows Azure)، «گوگل کلود» (Google Cloud) و «آیبیام کلود» (IBM Cloud).
مایکروسافت اکسل
مایکروسافت اکسل احتمالا یکی از بهترین و محبوبترین ابزارها برای کار با دادهها است. شاید برای برخی از افراد متعجب کننده باشد که از نرمافزارهای صفحه گسترده به عنوان ابزار مهمی برای کار با دادهها یاد میشود. این نرمافزارها، در واقع راهکاری ساده برای مدیریت دادهها را در اختیار افراد قرار میدهند.
اکسل در زمینههای زیر برای کار با دادهها مناسب است.
- ویرایشگری مناسب برای دادههای دوبُعدی
- یک پلتفرم بنیادی برای تحلیلهای پیشرفته دادهها
- ارائه یک اتصال زنده برای یک کاربرگ اکسل در حال اجرا در پایتون
- کاربر میتواند در اکسل هر کاری که تمایل دارد را انجام دهد و در نهایت، فایل خود را با فرمت مورد نظر خود ذخیره کند.
- دستکاری آسان دادهها در اکسل
فنیترین افراد نیز این روزها از اکسل به عنوان جایگزینی برای پایگاه داده استفاده میکنند. شاید این کار اشتباهی باشد زیرا اکسل فاقد «کنترل نسخه» (Version Control)، صحت، بازتولید یا قابلیت نگهداری است. اگرچه، صرف نظر از کمبودهای اکسل، کارهایی که میتواند انجام دهد بسیار جذاب هستند.
چه اقدامی را میتوان با اکسل برای علم داده انجام داد؟
- نامگذاری و ساخت طیفها
- فیلتر، مرتبسازی، ادغام و هرس دادهها
- ساخت «جدول پیوت» (Pivot Tables) و نمودار
- Visual Basic for Applications یا VBA (این قابلیت، یکی از قدرتهای قابل توجه اکسل است که در این مطلب مجال پرداختن به آن وجود ندارد. VBA یک زبان برنامهنویسی برای اکسل است که به کاربر امکان اجرای ماکروها، دستورات if..else و دیگر موارد را میدهد).
- پاکسازی دادهها شامل حذف مقادیر تکراری، تغییر ارجاعات بین مطلق، ترکیبی و نسبی
- انجام جستجوهای مورد نیاز در میان هزاران رکورد از دادهها
منابع پیشنهادی جهت فراگیری مایکروسافت اکسل:
مجموعه آموزشهای نرمافزار اکسل Excel
دِواُپس
بسیاری از متخصصان علم داده بر این باور هستند که علم داده برای افرادی است که ریاضیات، آمار، الگوریتم و مدیریت داده میدانند. در حال حاضر افراد زیادی مشاهده میشوند که با مثلا ۶ سال سابقه دواپسی، قصد دارند که به دنیای علم داده وارد شوند. اما اینکه دواپسها بدون آموختن چیز جدید و صرفا با دانستن مباحثی که از پیش به آنها تسلط داشتند بتوانند به دانشمند داده مبدل شوند، موضوعی قابل بحث است که در حوصله این مطلب نگنجد. اما چیزی که میتوان با اطمینان درباره آن صحبت کرد، روی آوردن بسیاری از دواپسها به علم داده است.
دواپس، مجموعهای از روشها است که توسعه نرمافزار و عملیاتهای فناوری اطلاعات را که هدف آنها کوتاهتر کردن چرخه حیات توسعه و فراهم کردن تحویل بدون اشکال با کیفیت نرمافزار بالا است را ترکیب میکند. تیمهای دواپس از نزدیک با تیمهای توسعه برای مدیریت چرخه حیات برنامهها به طور موثر، کار میکنند. تبدیل دادهها نیازمند تعامل نزدیک با تیمهای توسعه برای مدیریت چرخه حیات برنامهها به طور موثر هستند. از تیم دواپس انتظار میرود که خوشههای موجود از «آپاچی هادوپ» (Apache Hadoop)، «آپاچی کافکا» (Apache Kafka)، «آپاچی اسپارک» (Apache Spark) و «آپاچی ارفلو» (Apache Airflow) را برای انجام استخراج دادهها و تبدیل آنها انجام دهند. چه کاری را میتوان با دواپس برای علم داده انجام داد؟
- تدارک، پیکربندی، مقیاسدهی و مدیریت خوشههای داده
- مدیریت زیرساخت اطلاعاتی با یکپارچهسازی پیوسته، استقرار و نظارت بر دادهها
- ساخت اسکریپت برای خودکارسازی فعالیتها و پیکربندی بنیادی برای محیطهای گوناگون
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند: