یادداشت ها دانشمند تاریخ: از کجا شروع کنیم و آیا لازم است؟

یادداشت ها دانشمند تاریخ: از کجا شروع کنیم و آیا لازم است؟

TL;DR پستی برای پرسش/پاسخ در مورد Data Science و نحوه ورود به این حرفه و توسعه در آن است. در مقاله من اصول اولیه و سوالات متداول را تجزیه و تحلیل خواهم کرد و آماده پاسخگویی به سوالات خاص شما هستم - در نظرات (یا در یک پیام خصوصی) بنویسید، سعی می کنم ظرف چند روز به همه چیز پاسخ دهم.

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

هر آنچه در اینجا بیان شد ادعا نمی کند که حقیقت نهایی است و نظر ذهنی نویسنده است. ما به موارد اصلی که در این فرآیند مهم به نظر می رسند نگاه خواهیم کرد.

چرا این دقیقاً مورد نیاز است؟

برای اینکه هدف بهتر قابل دستیابی باشد، به طوری که حداقل تا حدودی خاص به نظر برسد - می خواهید در فیس بوک / اپل / آمازون / نتفلیکس / گوگل به عنوان یک DS یا محقق تحقیقاتی تبدیل شوید - به الزامات، زبان ها و مهارت های لازم نگاه کنید. به طور خاص برای کدام موقعیت فرآیند استخدام چگونه است؟ یک روز معمولی در چنین نقشی چگونه می گذرد؟ میانگین مشخصات فردی که در آنجا کار می کند چگونه است؟

اغلب تصویر کلی این است که شخص واقعاً نمی‌داند دقیقاً چه می‌خواهد و کاملاً روشن نیست که چگونه برای این تصویر نامشخص آماده شود - بنابراین ارزش دارد که حداقل یک برنامه تقریبی از آنچه دقیقاً می‌خواهید داشته باشید.

دیدگاه هدف فعلی را مشخص کنید

حتی اگر در طول مسیر تغییر کند، و به طور کلی تغییر برنامه ها در طول نمایش طبیعی است، ارزش دارد که هدف داشته باشید و روی آن تمرکز کنید، دوره ای ارزیابی و تجدید نظر کنید.

خواهد بود یا هنوز هم مرتبط است؟

تا زمانی که به یک موقعیت تبدیل شوید.

تصور کنید که قبل از موقعیت خود نیاز به گرفتن دکترا دارید، 2-3 سال در صنعت کار کنید و به طور کلی موهای خود را در حین مدیتیشن در صومعه کوتاه کنید - آیا وضعیت علوم داده مانند گذشته با اقتصاددانان و اقتصاددانان نخواهد بود. وکلا؟ آیا همه چیز فراتر از شناخت در حوزه ای که می خواهید دنبال کنید تغییر خواهد کرد؟

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

شاید ارزش آن را داشته باشد که هنگام انتخاب یک مسیر، روندهای فعلی را در نظر بگیرید، نه تنها وضعیت فعلی بازار کار، بلکه همچنین تصور شما از چگونگی تغییر و مکان آن.

به عنوان مثال، نویسنده قصد نداشت شیطان پرست شود، اما در طول دوره دکتری خود روی پروژه های شخص ثالثی کار کرد که مهارت های مشترک قوی با DS داشتند و در پایان تحصیلات تکمیلی به طور طبیعی به محیط زیست روی آورد. موقعیت

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

شکست مهارت

اینها دسته های مشروط مهارت هایی هستند که به نظر من برای کار کامل و مؤثر در DS کلیدی هستند. من انگلیسی را جداگانه برجسته می کنم - هر کاری را که در CS انجام می دهید بیاموزید. بعد دسته های کلیدی هستند.

برنامه نویسی / برنامه نویسی

حتما با چه زبان هایی آشنا می شوید؟ پایتون؟ جاوا؟ اسکریپت نویسی پوسته؟ لوا؟ Sql C++؟

دقیقاً چه کاری باید بتوانید انجام دهید و چرا از نظر برنامه نویسی - دامنه موقعیت ها در اینجا بسیار متفاوت است.

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

بنابراین، مجموعه مهارت های من با کسانی که کتابخانه Tensorflow را می نویسند و به بهینه سازی کد برای استفاده موثر از کش l1 و موارد مشابه فکر می کنند بسیار متفاوت است، بنابراین به آنچه دقیقا نیاز دارید نگاه کنید و مسیر صحیح یادگیری را ارزیابی کنید.

به عنوان مثال، برای پایتون، مردم قبلا آرایش می کنند کارت آموزش زبان.

مطمئناً در حال حاضر مشاوره با تجربه و منابع خوبی برای نیازهای شما وجود دارد - شما باید در مورد یک لیست تصمیم بگیرید و شروع به کار بر روی آن کنید.

درک فرآیندهای کسب و کار

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

معمولاً از خودم سؤالات زیر را می پرسم:

  • دقیقاً در شرکت چه کار کنم؟
  • چرا؟
  • چه کسی و چگونه از آن استفاده خواهد کرد؟
  • چه گزینه هایی دارم؟
  • حدود پارامترها چیست؟

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

ریاضی

در اینجا شما خودتان فکر می کنید و همه چیز را درک می کنید - بدون دانش ریاضیات اولیه شما چیزی بیش از میمون با نارنجک نیستید (جنگل تصادفی متاسفم) - بنابراین باید حداقل چیزهای اساسی را درک کنید. اگر بخواهم یک لیست بسیار حداقلی تهیه کنم، شامل موارد زیر می شود:

  • جبر خطی - تعداد زیادی از منابع برای Google آسان است، به دنبال آنچه برای شما مناسب است باشید.
  • تجزیه و تحلیل ریاضی - (حداقل در دو ترم اول)؛
  • نظریه احتمال همه جا در یادگیری ماشین وجود دارد.
  • ترکیبیات - در واقع مکمل نظریه است.
  • نظریه گراف - حداقل BASIC.
  • الگوریتم ها - حداقل برای دو ترم اول (به توصیه های کورمن در کتابش مراجعه کنید).
  • ریاضی - حداقل پایه.

تجزیه و تحلیل عملی داده ها و تجسم

یکی از مهم‌ترین چیزها این است که نتوانید از آلوده کردن داده‌ها نترسید و تجزیه و تحلیل جامعی از مجموعه داده‌ها، پروژه‌ها و ایجاد تجسم سریع داده‌ها انجام دهید.

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

من می خواهم به تجسم اشاره کنم: یک بار دیدن بهتر از صد بار شنیدن است.

نمایش یک نمودار به یک مدیر صد برابر ساده تر و واضح تر از مجموعه ای از اعداد است، بنابراین matplotlib، seaborn و ggplot2 دوستان شما هستند.

مهارت های نرم

به همان اندازه مهم است که بتوانید ایده‌های خود و همچنین نتایج و نگرانی‌های خود (و غیره) را به دیگران منتقل کنید - مطمئن شوید که می‌توانید به وضوح تکلیف را هم از نظر فنی و هم از نظر تجاری بیان کنید.

می‌توانید به همکاران، مدیران، مافوق‌ها، مشتریان و هرکس دیگری که به آن نیاز دارد توضیح دهید که چه اتفاقی می‌افتد، از چه داده‌هایی استفاده می‌کنید و چه نتایجی گرفتید.

نمودارها و اسناد شما باید بدون شما خوانده شوند. یعنی نیازی نیست برای فهمیدن آنچه در آنجا نوشته شده است به سراغ شما بروید.

شما می توانید یک ارائه واضح برای رساندن موضوع و/یا مستندسازی پروژه/کار خود ارائه دهید.

شما می توانید موضع خود را به شیوه ای مستدل و بدون احساس بیان کنید، بگویید «بله/نه» یا از یک تصمیم سؤال کنید/ حمایت کنید.

پرورش

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

  • دوره های آنلاین: coursera، udacity، Edx، و غیره.
  • مدارس جدید: آنلاین و آفلاین - SkillFactory، ShAD، MADE.
  • مدارس کلاسیک: برنامه های کارشناسی ارشد دانشگاه و دوره های آموزشی پیشرفته.
  • پروژه ها - شما به سادگی می توانید وظایف مورد علاقه خود را انتخاب کنید و آنها را برش دهید و آنها را در github آپلود کنید.
  • دوره های کارآموزی - پیشنهاد چیزی در اینجا دشوار است؛ باید به دنبال آنچه در دسترس است بگردید و گزینه های مناسب را بیابید.

لازمه؟

در پایان، احتمالاً سه اصل شخصی را اضافه خواهم کرد که سعی می کنم خودم از آنها پیروی کنم.

  • باید جالب باشد؛
  • لذت درونی به ارمغان بیاورد (= لااقل باعث رنج نشود).
  • "برای اینکه مال تو باشم."

چرا آنها؟ تصور اینکه کاری را هر روز انجام دهید و از آن لذت نبرید یا علاقه ای نداشته باشید سخت است. تصور کنید که شما یک پزشک هستید و از برقراری ارتباط با مردم متنفر هستید - البته این می تواند به نوعی کار کند، اما شما دائماً از جریان بیمارانی که می خواهند چیزی از شما بپرسند ناراحت خواهید بود. این در دراز مدت جواب نمی دهد.

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

"مال تو بودن" همان احساسی است که تقریباً می خواستی انجامش دهی. من یک داستان کوچک دارم. از دوران کودکی، من به موسیقی راک (و متال - SALMON!) علاقه داشتم و مانند بسیاری دیگر، می خواستم یاد بگیرم که چگونه بنوازم و همین. معلوم شد که من نه شنوایی داشتم و نه صدا - این اصلاً من را آزار نمی داد (و باید بگویم که این موضوع خیلی از اجراکنندگان را روی صحنه آزار نمی دهد) و وقتی هنوز در مدرسه بودم یک گیتار گرفتم ... و مشخص شد که من واقعاً دوست ندارم ساعت ها بنشینم و روی آن بازی کنم. سخت پیش می رفت، همیشه به نظرم می رسید که نوعی مزخرف در حال بیرون آمدن است - من اصلاً از آن لذت نمی بردم و فقط احساس بد، احمق و کاملاً ناتوان می کردم. به معنای واقعی کلمه خودم را مجبور کردم برای کلاس بنشینم و در کل غذای خوبی برای اسب نبود.

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

و در یک نقطه متوجه شدم که نواختن گیتار کار من نیست و من واقعاً دوست دارم گوش کنم، نه نواختن. و وقتی بازی ها و کدها را می نوشتم چشمانم برق می زد (در آن لحظه به انواع متال گوش می دادم) و این همان چیزی بود که در آن زمان دوست داشتم و این کاری است که باید انجام می دادم.

آیا هیچ سوال دیگری دارید؟

البته، ما نتوانستیم همه موضوعات و سوالات را مرور کنیم، بنابراین نظرات خود را بنویسید و برای من PM ارسال کنید - من همیشه خوشحالم که سوالاتی دارم.

یادداشت ها دانشمند تاریخ: از کجا شروع کنیم و آیا لازم است؟

یادداشت ها دانشمند تاریخ: از کجا شروع کنیم و آیا لازم است؟

منبع: www.habr.com

اضافه کردن نظر