چگونه دیتا ساینتیست شویم؟
یکی از شغلهایی که بهواسطه گسترش اینترنت ایجاد شده، دانشمند دادهها یا دیتا ساینتیست (Data Scientist) است. امروزه شرکتها در دنیا دادههای بسیار زیادی از کاربران خود دارند که دوست دارند از آنها استفاده کنند تا خدمات بهتری به مشتری بدهند و سود بیشتری هم بکنند. در این میان دیتا ساینتیستها افرادی هستند که میتوانند
یکی از شغلهایی که بهواسطه گسترش اینترنت ایجاد شده، دانشمند دادهها یا دیتا ساینتیست (Data Scientist) است. امروزه شرکتها در دنیا دادههای بسیار زیادی از کاربران خود دارند که دوست دارند از آنها استفاده کنند تا خدمات بهتری به مشتری بدهند و سود بیشتری هم بکنند.
در این میان دیتا ساینتیستها افرادی هستند که میتوانند از لابهلای این حجم از دادههای متنوع، تصاویر دقیق و عمیق درباره فاکتورها مختلف از رفتارهای مشتری بگیر تا شرایط آینده را استخراج کنند. به همین دلیل هم دیتا ساینتیست در حال تبدیل به شغلی بسیار مهم است. شغلی که البته درآمد خوبی هم دارد.
اما چگونه میتوانیم یک دیتا ساینتیست شویم و چه مهارتهایی برای آن لازم است. با ما همراه باشید.
دیتا ساینتیست، قهرمان عصر داده
عصر ما عصر دادهها و اقتصاد دادهها است. در حال حاضر روزانه 2.5 میلیون ترابایت داده در اینترنت تولید میشود. همه اینها یا دادههای کاربرانی هستند که صرفا محتوا مصرف میکنند یا اینکه دادههای هستند که تولیدکنندگان در سایتهای گوناگون اینترنتی بارگذاری میکنند.
2.5 میلیون ترابایت داده عدد بسیار بزرگی است؛ یعنی شما برای ذخیرهسازی دادههایی که هر روز در اینترنت تولید میشود 2.5 میلیون هارد یک ترابایت لازم دارید.
بخشی از این دادهها، دادههایی هستند که شرکتها از کاربران جمع میکنند و کاربران خواسته یا ناخواسته در اختیار شرکتها قرار میدهد، دادههایی مثل جنسیت، سابقه خرید اینترنتی، سابقه جستجو، موقعیت مکانی و سابقه وبسایتهای بازدید شده. این دادهها ساختار (structured) دارند و خواندنشان راحت است.
بقیه دادهها مثل پستهای وبلاگ، فیلم، عکس و کامنت دادههای بدونساختار (Unstructured) نام دارند.
این دادهها هم حجمشان زیاد است (Volume)، هم تنوع زیادی دارند (Variety) و هم با سرعت بسیار زیادی تولید میشوند (Velocity). سه فاکتور حجم، سرعت و تنوع چیزهایی هستند که حوزه بیگ دیتا (Big Data) را تعریف میکنند.
نکته اینجاست که مدیریت و ذخیرهسازی این حجم از دادهها چالش بسیار بزرگی است. چالشی که بیگ دیتا و فناوریهای آن سعی در حل آن دارند.
استخدام دیتا ساینتیست
فناوریهای بیگ دیتا به دو حوزه قابلتقسیم هستند. حوزه ذخیرهسازی و مدیریت دادهها و حوزه پردازش و تحلیل آنها. مشخص است که برای مدیریت این حجم از دادهها با ابزارهای بیگ دیتا یا باید کسی را استخدام کنیم یا مسئولیت نگهداری آن را به شرکتهای دیگر بدهیم.
وقتی شما حجم عظیمی از دادههای ساختاردار دارید که بیشتر آنها شبیه فایلهای اکسل با هزاران یا میلیونها داده هستند، ما برای اینکه بتوانیم واقعا از این دادهها استفاده کنیم و مثلا بفهمیم که بر اساس آنها چگونه استراتژیهای بازاریابی را تغییر دهیم، نیازمند این هستیم که این دادهها را تحلیل کنیم و از آنها سر دربیاوریم.
تحلیلکردن این حجم از دادهها و فهمیدن اینکه چگونه از آن نتیجهای بگیریم، کار هر کسی نیست. استفاده از این دادههای نیازمند دانش دادههاست و کسی که این دانش را دارد و میتواند این دادهها را تحلیل کند، دانشمند دادهها یا دیتا ساینتیست است.
دیتا ساینتیست کسی است که مهارتهای متنوعی در حوزه نرمافزارها، برنامهنویسی در زبانهای گوناگون، هوش مصنوعی، مدیریت دادهها و دانش زیادی از بازارها، رفتارهای کاربران و روانشناسی آنها دارد و میتواند با تحلیل دادهها، تصاویر دقیقی از آنچه لازم است، ارائه دهد.
او میتواند دادهها را مصورسازی کند و از آنها نمودارها و اینفوگرافیک تهیه کند و یا الگوهایی در دادهها بیابد که احتمالا پیش از آن قابلتصور نبوده است.
تفاوت دیتا ساینتیست و متخصص آمار
در ضمن دیتا ساینتیستها متفاوت از متخصصین آمار هستند. با اینکه دیتا ساینتیست و متخصص آمار اهداف و مهارتهای مشترکی دارند و هر دو از دادههای حجیم استفاده میکنند، اما کار این دو متفاوت است. دانش دادهها یا دیتا ساینس (Data Science) حوزه جدیدی است که عمیقا بر استفاده از کامپیوتر و فناوری متکی است.
دانش دادهها یا دیتا ساینس (Data Science) حوزه جدیدی است که عمیقا بر استفاده از کامپیوتر و فناوری متکی است.
دیتا ساینتیست با اتصال به پایگاههای داده عظیم، دادهها را دریافت میکند، با برنامههای کامپیوتری که مینویسد آنها را تحلیل میکند و میتواند نمودارها و تصاویر قابلدرکی را از آنها تولید کند.
اما متخصصین آمار در تلاش هستند از نظریههای تاییدشده برای تحلیل دادهها استفاده کنند و کارشان بیشتر بررسی فرضیهها است. رشته آمار رشتهای است که در صد سال گذشته چندان تغییر نکرده است و به همین دلیل همهچیز آن مشخص و معین است اما دانش دادهها پس از کامپیوترها و بهطور خاص در چند سال گذشته توسعه یافته است.
دیتا ساینتیست کارمندی پردرآمد
از آنجایی که اهمیت دادهها هر روز در دنیای ما بیشتر میشود، چندین سال است که شرکتها دیتا ساینتیست استخدام میکنند. این شغل در حال حاضر یکی از پردرآمدترین شغلهای دنیاست.
تعداد کمی از شرکتهای ایرانی نیز در سالهای اخیر شروع به استخدام دیتا ساینتیست کردهاند اما با توجه به درصد بالای بیکاری در ایران، صرفا فارغالتحصیلان دکترا میتوانند در این شغلها استخدام شوند.
زیرا مثل دیگر شغلهای بازار کار آیتی در ایران ، شرکتها در این حوزه هم دوست دارند یک نوبل فیزیک را با حقوق ۳ میلیون تومان استخدام کنند. یکی از دلایلی هم که بسیاری از شرکتهای ایرانی هنوز اقدام به استخدام دیتا ساینتیست نمیکنند، این است که دادههای آنها کم است.
این شرکتها یا دادههای چندانی از کاربران ندارند زیرا در بهترین حالت سیستمهای روابط عمومی ضعیف یا وبسایتهایی صرفا با ظاهر خوب دارند (البته اگر خوشبین باشیم!) و ابزارهایی برای جمعآوری دادهها ندارند و در بدترین حالت کلا اقدامی برای جمعآوری چنین دادههایی نکردهاند.
همچنین بهدلیل نبود و یا محدودیت شدید ارتباط مالی با دنیا، این امکان که شرکتهای ایرانی بتوانند از گوگل داده دریافت کنند، سخت است. به همین دلیل هم ممکن است داده چندانی نداشته باشند که بخواهند دیتا ساینتیست استخدام کنند.
اما همه اینها در حال تغییر است. ما در دهه و شاید قرن اطلاعات زندگی میکنیم که بیگ دیتا یکی از مهمترین ترندها و مگاترندهای آن است. به همین دلیل دیر یا زود، شرکتهای ایرانی هم دیتا ساینتیست نیاز خواهند داشت.
مطمئن هم باشید که اگر شما دیتا ساینتیست باشید، شغل خوبی با درآمد بالا خواهید داشت. به همین دلیل شاید بد نباشد بدانید چگونه میتوان دیتا ساینتیست شد.
چگونه میتوان دیتا ساینتیست شد؟
برای اینکه شما دیتا ساینتیست شوید یا اینکه دیتا ساینتیست خوبی شوید، باید علاوه بر مهارتهای متنوع، خصوصیات منحصربهفردی هم داشته باشید.
پیش از همه باید ذاتی کنجکاو داشته باشید که شما را دائما به سمت یادگیری چیزهای جدید سوق دهد. در حوزه دانش دادهها، موضوعات فراوان و دادههای بسیاری وجود دارند که یک دیتا ساینتیست باید کنجکاوی ذاتی برای مطالعه، تفکر و جمعآوری اطلاعات درباره آنها را داشته باشد تا در نهایت بتواند با یافتن ارتباط بین اجزای مختلف در دادههای موجود، پاسخهای درست به سوالهای مطرحشده بیابد.
حوزههایی مثل دانش دادهها که دائما در حال تغییر هستند، چالشهای همیشگی اجتنابناپذیر هستند، لازم است مستمر یاد بگیرید و خلاقیت دائمی داشته باشید. چنین چیزی میتواند خستهکننده هم باشد، در نتیجه کمی سرسختی در این شغل بسیار مفید خواهد بود.
قضیه اینجاست که یک دیتا ساینتیست در طول کارهایی که بهطور معمول انجام میدهد، به شرایطی برمیخورد که انگار همهچیز به هم گره خورده است و ممکن است به کلاف سردرگمی از دادهها و مسائل پیچیده برسد که به نظر حلناپذیر میآید.
اما یک دیتا ساینتیست خوب در این شرایط هم دست از دستهبندی، تحلیل دوباره و کارکردن روی دادهها برنمیدارد و آنقدر ادامه میدهد که بتواند مسئله را از نگاهی جدید دریابد و حل کند.
خصوصیات دیگری مثل خلاقیت، توانایی تمرکز بالا و توجه بسیار زیاد به جزئیات میتواند به شما کمک کند که یک دیتا ساینتیست خوب باشید. داشتن مهارتهای ارتباطی و توانایی کار تیمی هم مهم است.
در ضمن از آنجا که در این شغل اولا شما باید مهارتهای زیاد و در حوزههای گستردهای داشته باشید و همچنین بتوانید دائم و سریع یاد بگیرید، اگر یک فرد چندپتانسیلی (Multipotentialite) هستید، مطمئن باشید که شما میتوانید بهترین دیتا ساینتیستی باشید که میتوان پیدا کرد.
اما علاوه بر اینها شما باید تحصیلات دانشگاهی و تعداد زیادی مهارت کامپیوتری هم داشته باشید.
قدم به سوی دیتا ساینتیست شدن
تحصیلات دانشگاهی
برای اینکه شما در شرکتی دیتا ساینتیست بشوید، باید دکترا یا کارشناسی ارشد داشته باشید. در دنیا 27 درصد دیتا ساینتیستها مدرک دکترا و 73 درصد مدرک کارشناسی ارشد دارند. بعید هم است که این قاعده به این زودیها از بین برود.
در نتیجه باید یک لیسانس در حوزه آیتی، علوم کامپیوتر، ریاضیات، فیزیک، آمار، ریاضیات کاربردی، اقتصاد یا علوم اجتماعی بگیرید.
اگر مدرک کارشناسی ارشد شما هم که مرتبط به دادهها باشد، بهتر است. طبیعتا اگر پایاننامه کارشناسی ارشد شما کارهایی مثل شبیهسازی، برنامهنویسی و یا کار با دادههای بزرگ دارد، برای شما مفیدتر خواهد بود.
اگر هم میخواهید دکترا بگیرید، بهتر است کار شما در دکترا به برنامهنویسی ، هوش مصنوعی یا حتی استخراج داده (Data Mining) ربط داشته باشد.
همچنین باید پیش از اینکه بخواهید دیتا ساینتیست شوید، اطلاعات و دانشی در حوزهای که میخواهید در آن کار کنید، داشته باشید؛ مثلا اگر میخواهید در یک شرکت دارویی دیتا ساینتیست شوید که مثلا میخواهد متناسب با نیاز بازار دارو تولید کند، بهتر است اطلاعاتی در مورد بیماریها، میزان شیوع، دوره بیماری، دوره پنهان و هر چیزی دیگری در مورد بیماریها داشته باشید.
همچنین اگر میخواهید یک دیتا ساینتیست ارشد در شرکتی شوید، احتمالا داشتن مدرک دکترا برای شما ضروری خواهد بود.
اخیرا در دانشگاههای جهان، رشته دانش دادهها از همان دوره لیسانس تاسیس شده است. احتمالا چند سال دیگر این رشته به ایران هم خواهد آمد. البته من اطلاعاتی در این مورد ندارم، شاید همین الان هم وجود داشته باشد.
مسلما اگر شما مدرکی از این رشته داشته باشید، از بقیه رشتهها بهتر است. چنین رشتهای به شما دانش لازم برای تحلیل مجموعه دادههای پیچیده و مهارتهای لازم در حوزه آمار، کامپیوتر و تکنیکهای تحلیل را آموزش میدهد.
مهارتهای کامپیوتری لازم برای دیتا ساینتیست
یک دیتا ساینتیست علاوه برای چیزهایی که در دانشگاه یاد میگیرد، باید مهارتهای دیگری هم بلد باشد که لزوما در دانشگاه و در رشته تحصیلیاش یاد نگرفته است. همچنین بسته به اینکه رشته تحصیلی شما چیست، ممکن است در برخی از این مهارتها بهتر از بقیه باشید. در هر صورت، اگر بخواهید دیتا ساینتیست شوید باید این مهارتهای کامپیوتری را نیز داشته باشید:
۱- زبان برنامهنویسی پایتون
پایتون (Python) یک زبان برنامهنویسی بسیار خوب و قدرتمند است. پایتون زبانی نیست که با هدف تحلیل دادهها ایجادشده باشد. بلکه شما با پایتون میتوانید وبسایت، اپلیکیشن وب و هر برنامه دیگری بنویسید.
اهمیت پایتون در اینجاست که در طول این سالها کتابخانههای بسیار مهمی مثل Numpy و Matplotlib برای پایتون نوشته شده است که پایتون را تبدیل به زبانی قدرتمند و محبوب در بین دیتا ساینتیستها کرده است. به همین دلیل الگوریتمها و کدهای فراوان دیگری نیز در پایتون نوشته شدهاند که برای کار یک دیتا ساینتیست لازم هستند.
همچنین دانستن زبانهایی مثل جاوا، پرل (Perl) و C++/C نیز میتواند بسیار مفید باشد. انعطاف زبان پایتون باعث میشود که شما بتوانید صرفا با کدنویسی در آن به پایگاههای داده گوناگون متصل شوید و از آنها داده بخوانید و داده وارد کنید.
۲- زبان R
زبان برنامهنویسی R برخلاف پایتون، زبانی است که فقط برای کارهای آماری و سروکلهزدن با دادهها ساخته شده است.
شما میتوانید با زبان R هر مسئله مربوط به دادهها را حل کنید اما چون این زبان انعطاف و قدرت زبان پایتون را ندارد، احتمالا لازم خواهد بود برخی از کارها را دستی انجام دهید.
یکی از مشکلات زبان R این است که یادگیری آن سخت است، خصوصا وقتی شما پیش از این یک یا چند زبان برنامهنویسی را بهخوبی بلد باشید.
بهدلیل همین سختی و همچنین نداشتن انعطاف کافی در زبان R، زبان برنامهنویسی دیگری با نام جولیا (Julia) نیز درست شده است. جولیا زبانی است که همزمان قدرت و انعطاف و سرعت زبان R، پایتون و C++/C را ترکیب کرده است.
دانستن نرمافزارهای آماری مثل SPSS و SAS هم میتواند به دردتان بخورد.
۳- پلتفرم هادوپ
پلتفرم هادوپ (Apache Hadoop) مجموعهای از نرمافزارها و ابزارها مثل هایو (Apache Hive) و پیگ (Apache Pig) است که مخصوص مدیریت دادهها و کارهای عددی و محاسباتی روی دادههای حجیم ساخته شدهاند.
تسلط به ابزارهای مجموعه هادوپ بعد از زبان پایتون، مهمترین مهارت لازم برای یک دیتا ساینتیست است.
قضیه اینجاست که وقتی شما با مجموعه دادههای بسیار عظیم روبهرو میشوید، ممکن است شرایطی پیش بیاید که حجم دادهها یا میزان حافظه رم یا حتی توان پردازشی لازم برای دادهها بسیار از بیشتر از چیزی باشد که شما در اختیار دارید. در نتیجه شما مجبور میشوید دادهها را به سرورها یا کلاسترهای محاسباتی دیگری انتقال بدهید. اینجاست که هادوپ به درد میخورد. هادوپ میتواند این کار را بهصورتی راحت، بهینه و سریع برای شما انجام دهد.
همچنین شما میتوانید از همین هادوپ برای استخراج، کاوش، فیلترکردن، نمونهگیری و خلاصهسازی دادهها هم استفاده کنید.
۴- تسلط به SQL
وقتی حجم دادهها بسیار زیاد است، ذخیرهسازی و خواندن آنها روی فایلها چیز معقولی نیست؛ چون هم کار را کند میکند و هم حجم زیادی میبرد. در این حالتها دادهها در پایگاههای داده ذخیره میشود؛ یعنی دادهها در فرمت خاصی که در هر پایگاه دادهای متفاوت است، بهصورت فایلهایی ذخیره میشوند که خواندن و نوشتن در آنها سریع و راحت است.
وقتی هم که حجم دادهها بسیار زیاد باشد، پایگاههای داده NoSQL و هادوپ بسیار به درد میخورند و احتمالا بخش زیادی از احتیاجهای یک دیتا ساینتیست را رفع کنند؛ اما از شما بهعنوان یک دیتا ساینتیست انتظار میرود که دستورها و درخواستهای پیچیده در SQL را هم بلد باشید.
با اینکه شما باید پیش از SQL، هادوپ و NoSQL بدانید، اما دانستن SQL میتواند بسیار مفید باشد؛ زیرا دستورهایی که برای درخواستهای آن استفاده میکنید، میتوانید تصویر بسیار خوبی از دادهها به شما بدهد. در ضمن سادگی دستورهای آن، کار را سادهتر میکند و شما میتوانید با برنامهنویسی کمتری کارتان را جلو ببرید.
۵- آپاچی اسپارک
آپاچی اسپارک (Apache Spark) مثل هادوپ یک ابزار مدیریت بیگ دیتا است. هر دو هم محصول تیم نرمافزاری آپاچی هستند؛ اما تفاوت اسپارک یا هادوپ این است که اسپارک بسیار سریعتر از هادوپ است.
اسپارک بهطور اختصاصی برای اجرای سریع الگوریتمهای پیچیده ساخته شده است. همچنین مدیریت دادههای بدونساختار با اسپارک راحتتر است و میتواند از گمشدن و از دست رفتن دادهها جلوگیری کند.
۷- یادگیری ماشینی و هوش مصنوعی
بسیاری از دیتا ساینتیستها، هوش مصنوعی بلد نیستند؛ اما هوش مصنوعی چیزی است که میتواند شما را بسیار جلو ببرد. پس اگر میخواهید چند سروگردن بالاتر از بقیه دیتا ساینتیستها باشید، بهتر است هوش مصنوعی بدانید.
توانایی آموزش یک سیستم هوش مصنوعی متناسب با دادهها و پاسخهای موردنیاز با استفاده از الگوریتمهای گوناگون، میتواند به شما کمک کند مسائل متفاوتی را حل کنید.
تمام سیستمهای هوش مصنوعی گوگل از جمله یادگیری عمیق همه با تنسورفلو نوشته شدهاند.
تسلط به هوش مصنوعی در مفهوم کلی و الگوریتمهای گوناگون آن، کاری سخت و زمانبر است؛ اما شما میتوانید با کتابخانه بسیار قدرتمند و رایگان تنسورفلو (Tensorflow) گوگل، هوش مصنوعی یاد بگیرید. یادگیری آن آسان است و آموزشها و کدهای فراوانی برای آن وجود دارند.
۸- مصورسازی دادهها (Data Visualization)
بعد از استخراج دادهها، مهمترین کار ارائه آنها است؛ اما برای اکثر افراد درک یک جدول عریض و طویل از اعداد کار سختی است. در نتیجه شما باید از راه دیگری جلو بروید.
شما باید بتوانید آنچه را از دادهها به دست آوردهاید، در نمودارها و جداول، تصویرسازی کنید. در نتیجه بد نیست که از هر ابزاری که میتوان با آن نمودار کشید، سر دربیاورید؛ اما دانستن ggplot، matplotlib و d3.js ضروری است.
شما با همین نمودارها است که میتوانید توجهها را جلب کنید تا افراد را به اقدامهای درست مجاب کنید.
۹- کار کردن با دادههای بدونساختار
دادههای بدون ساختار شامل ویدئوها، پستهای وبلاگی، کامنتها، پستهای شبکههای اجتماعی، صدا و حتی تصاویر است. این دادهها شامل متنهای بلند و درهمتنیدهای هستند که دستهبندی آنها هم کار سختی است. شما باید بهعنوان یک دیتا ساینتیست بتوانید با اینگونه دادهها کار کنید.
تحلیل دادههایی بدونساختار میتواند به شما اطلاعات بیشتری برای کسب بینش بهتر از دادهها بدهد.
نظرات