این روزها دیتاساینس داره از پیک مد بودن میاد پایین و در نتیجه زمان خوبیه که تصمیم بگیرین دوستش دارین یا نه. از اونطرف دیتاساینس مسیر دیتاساینس شامل چیزهای زیادی است که هم خوبه هم بد. خوبه چون کلی مهارت متنوع توش یاد میگیرین که جاهای دیگه هم به درد میخوره و بده چون سخته و بزرگتر از چیزهایی مثل مثلا مدیرسیستمی. اما چیزهای سخت جالبن! پس اگر اهلش هستین، سعی کردم یه جمع بندی از چیزهایی که برای تبدیل شدن به یه دانشمند داده لازمه جمع آوری کنم. در واقع اینهای قدم های منطقی ای هستن برای وارد شدن به این حوزه؛ با یادآوری اینکه این حوزه بسیار وسیعه و شما در نهایت یه کناریش یه تخصص اصلی پیدا خواهید کرد. مثلا ممکنه شما فقط آمار بلد باشین و در یک تیم دانشمند داده حساب بشین یا فقط متخصص راه اندازی نودهای یک سیستم بیگ دیتا باشین و در تیمی کار کنین که بهش می گن گروه دیتا ساینتیست ها در حالی که شما شخصا اصلا کاری ندارین که این دیتاها چی هستن (: خلاصه… کلیت رو که بدونین، مسیر خودتون رو راحتتر پیدا می کنین. این مسیر احتمالا از اینجاها می گذره:
زبان برنامه نویسی مرتبط
دیتاساینتیستها، لازم دارن دادهها رو انگولک کنن و چه مهارتی مفیدتر از برنامه نویسی؟ توی این جامعه سوال همیشگی «آر یا پایتون» است (و البته رقبای دیگهای مثل جولیا) ولی انتظار میره شما [بدونین که هیچ زبانی بهتر از اون یکی نیست و هر چیزی کاربرد خودش رو داره]. اما در نهایت لازمه شما با یکی از زبانهای مرتبط که فعلا آر یا پایتون است، آشنایی قابل قبولی داشته باشین. من به هر دو علاقه دارم ولی الان به پایتون نزدیکتر هستم. خوبی یاد گرفتن پایتون هم اینه که شما با دونستنش، در حوزههایی بسیار وسیعتر از کار با دادهها، توانمند شدین. اگر دوست داشتین میتونین راهنمای شروع و حرفهای شدن در زبان برنامه نویسی پایتون من رو ببینین.
لینوکس و ابزارهاش
خیلی وقتها دیتاهای شما در فایلهایی است که باید بتونین نگاهش کنین، تغییرش بدین، پایپش کنین، فیلترش کنین و کارهای مشابه. لازمه بتونین در سیستم عاملتون نسبتا راحت باشین بخصوص که فایلهاتون معمولا بزرگه و نامرتب و توانایی درست کار کردن باهاشون، بسیار حیاتی. یه دانشمند داده خیلی خوبه که به سیستم عاملش مسلط باشه. من یه راهنمای شروع و پیشرفت در لینوکس هم دارم
اکسل
بله (: به شکل بامزهای اکسل به تنهایی ممکنه کلی کلی از کارهای شما رو راه بندازه. بلد بودن حرفه ای اکسل تقریبا بهترین توصیه ای است که می شه به هر کسی که با کامپیوتر کار می کنه کرد. نمونه آزاد و متن باز اکسل مایکروسافت، calc از مجموعه libreoffice است که بسیاری از قابلیت ها رو داره و در جاهایی حتی بهتره – و در جاهایی بدتر. اکسل رو خوب بلد باشین که گاهی کل کاری که دیتاساینتیستها میکنن، تو اکسل خلاصه میشه (: البته اکسلی هاشون!
ویژوالایزیشن
مهارت مهم دیگه، مهارت نمایش دادهها است. اینکار گاهی تو خود زبان برنامه نویسی و خیلی ساده و سرراست انجام میشه و گاهی بیسار هنرمندانه و با برنامههای گرافیکی و گاهی با ابزارهایی مثل تبلو یا PowerBI از مایکروسافت. با هر چی که کار می کنین، باید بدونین این لایهای است که نتیجه کل کار شما رو به یک مدیر رده بالا نشون می ده یا باعث میشه عموم با محصول فکر شما ارتباط برقرار کنن. این مرحله مهمه و خوبه روش وقت بذارین. در دنیای پایتون شاید این کتاب خوب باشه ولی دونستن ابزارهایی مثل تبلو و ممکنه در شاخههای دیگه ای به شما کمک کنه.
پایگاههای داده
حواستون هست که دانشمند داده با دادهها کار می کنه دیگه؟ و خیلی وقتها این دادهها در انواع پایگاههای داده هستن. اگر شما مایاسکوئل، پستگره و مایکروسافت اسکوئل سرور رو بلد باشین کلی جلو هستین؛ چه برسه به آگاهی عمومی در مورد چیزهایی مثل مونگو و حتی سیستمهایی مثل اسپارک و مپ ریدوس. یادتونه گفتم برنامه نویسی هم مهمه؟ خیلی وقتها شما با اسکرپ کردن وب یا ای پی آی ها، دارین دیتاهای خودتون رو توی دیتابیسهاتون میریزین.
آمار و ریاضی
تا اینجا از بحث های فنی حرف زدیم ولی شما قراره دانشمند باشین نه تکنیسین! در دنیای ریاضی، لازمه مفاهیم اولیه و چیزهایی مثل نمونهگیری و توزیعها و میانگین و میانگین وزنی و مد و میانه و این چیزها رو بدونین. همچون احتمالات و توزیعهای احتمالی و مفاهیم پیشرفتهتری مثل آزمونهای آماری و اعتبار و خی اسکوئر و دوستانش. برای نمونه به این کتاب و این یکی کتاب مراجعه کنین. شایدم این معرفی کتاب از من به درد بخوره.
یادگیری ماشین
موضوع داغ این روزها، یادگیری ماشین است. الگوریتمهایی که بعد از اجراشون حس میکنیم ماشینها به شکل جادویی چیزی رو یاد گرفتن که ما به خوبی ازش سردرنمیاریم. برای درک مساله، خوبه حداقل این ده الگوریتم رو بلد باشین: linear regression ،logistic regression ،SVM ،random forests ،Gradient Boosting ،PCA ،k-means ،collaborative filtering ،k-NN و ARIMA. در این بخش همچنین لازمه بفهمیم که چطوری باید پرفرمنس یه مدل رو سنجید، آپتییمایز کرد، کراس ولدیت کرد، توابع خطی و غیرخطی رو دونست و جبرخطی و حسابان رو بلد بود. البته لیست دونستیها اینجا زیاده مثلا overfitting و شبکههای عصبی و درخت تصمیم و … و البته چیزهای بزرگی مثل هوش مصنوعی و تفسیر زبان طبیعی و … اگر در دنیای پایتون هستین دونستن کتابخونههایی مثل نامپای، پایتورچ، سایکیتلرن، پانداز و تنسورفلو میتونه خط شروع خیلی خوبی به شما بده. کتاب پیشنهادی؟ یه نگاه به کار عملی با سایکیت لرن و تنسورفلو بندازین.
اما…
اما اینها فقط دانش عمومی است. برای تبدیل شدن به یه متخصص خوب شما باید یک مهارت دقیقتر هم داشته باشین. مثلا اینها رو بدونین ولی روی مثلا پردازش زبان طبیعی بیشتر کار کرده باشین. یا روی بینایی ماشین یا اصولا اطلاعاتتون از مفاهیم مرتبط با تشخیص تقلب زیاد باشه و موارد مشابه یا سراغ چیزهای مد روزتر مثل یادگیری عمیق یا سیستمهایی که خودشون قواعد بازی رو کشف می کنن و اینها برین و ببینین چی دوست دارین و ادامه اش بدین.
درست کردن اعتبار
اما کسی فقط با داشتن دانش، شناخته نمیشه. شروع کنین به کار عملی. پروژههای نمونه انجام بدین. دیتاهایی که بهش دسترسی دارین رو تفسیر و تحلیل کنین و نتایج و فرمول ها و پیش بینی های جالب بیرون بکشین. یا اصولا از سایت های پر داده ای مثل دیجیکالا و دیوار و شیپور و ایسام و بقیه دیتا در بیارین و یه کار جالب بکنین. اگر خودتون رو سطح بالاتر می بینین می تونین سراغ سایت هایی مثل کگل برین و اسم و رسمی به هم بزنین، حتی اون پایین مایینهاش – اونجاها هم به اندازه کافی مهمن!
حرف آخر
این رو هم بگم که این دنیا خیلی بزرگه. من هم متخصصش نیستم و جمع آوری کننده هستم. همونطور که اول بحث گفتم، این حوزه بسیار بزرگه و باز و جای کار زیادی هم داره. لازمه با جامعه اش پیوند بخورین و مقاله بخونین و ببینین بقیه چیکار می کنن و چه نیازهایی دارن. هم با ابزارهای متنوع ور برین و هم با دادههای مختلف کار کنین و سعی کنین مسائل رو حل کنین. بخشی مهمی از دنیای دیتاساینس، بهتر کردن چیزهایی است که وجود دارن. این رو هم بدونین که مثل بقیه کارها، بخش بزرگی از کار ماجرای علمی اش نیست بلکه ماجرای تکنیسینی است. خیلی وقت ها داده کثیفن و شما کد می نویسین که کمی تمیزشون کنین. خیلی وقت ها فرمت دیتا مناسب نیست و باید یکسانشون کنین. خیلی وقت ها دیتا اونقدر بزرگه که روی یک کامپیوتر جا نمی شه و باید یه فکری بکنین و غیره و غیره. حوصلهتون سر نره و با هیجان و لذت پیش برین و مساله طرح و حل کنین و چیز جدید یاد بگیرین و به زودی اسم خوبی برای خودتون درست خواهید کرد!
اگر هم فکر کردین چیزی باید اضافه یا کم بشه، خوشحال می شم تو کامنت ها بگین. تخصص منم نیست.