اگر می‌توانستم دوباره شروع کنم، چگونه علم داده را یاد می‌گرفتم

منتشرشده در towardsdatascienceلینک مقاله اصلی: How I’d Learn Data Science if I Could Start Overمقالات موجود در این مطلب به صورت ترجمه شده در اختیار شما قرار گرفته‌اند.پیش‌گفتاربا توجه به سابقه غیر فنی که داشتم، من کم و بیش به تنهایی یاد می‌گرفتم.زمانی که من برای اولین بار سفر علم داده خود را آغاز کردم، مقدار زیادی زمان صرف فهمیدن این کردم که حتی از کجا باید شروع کنم، چه چیزی را اول باید یاد بگیرم و از چه منابعی باید استفاده کنم.در طول دو سال گذشته، من چیزهای زیادی یاد گرفته‌ام که آرزو داشتم کسی به من می‌گفت، مثلا اینکه اول روی برنامه‌ریزی تمرکز کنم یا آمار، از چه منابعی برای یادگیری مهارت‌های جدید استفاده کنم، چگونه باید مهارت‌های جدید یاد بگیرم، و غیره.بنابراین، هدف این مقاله ارائه برخی جهت‌گیری‌ها و بینش‌هایی برای کسانی است که در حال یادگیری علم داده هستند.مقدمهفرض من این است که به عنوان یک دانشمند داده مشتاق، شما می‌خواهید به طور کامل مفاهیم و جزئیات الگوریتم‌های مختلف یادگیری ماشین، مفاهیم علم داده، و غیره را درک کنید.بنابراین توصیه می‌کنم که قبل از اینکه حتی به الگوریتم‌های یادگیری ماشین و یا کاربردهای علوم داده نگاهی بیندازید، با بلوک‌های ساختمان شروع کنید. اگر درک پایه‌ای از انتگرال‌های جبری، جبر خطی و آمار نداشته باشید، در درک مکانیک پشت الگوریتم‌های مختلف با مشکل مواجه خواهید شد. به همین ترتیب، اگر درک پایه‌ای از پایتون نداشته باشید، زمان سختی برای پیاده‌سازی دانش خود در برنامه‌های کاربردی زندگی واقعی خواهید داشت.در زیر ترتیب موضوعاتی آورده شده‌است که توصیه می‌کنم به آن‌ها بپردازید:ریاضیات و آماراصول برنامه‌نویسیالگوریتم‌ها و مفاهیم یادگیری ماشینی۱. ریاضیات و آمارمانند هر چیز دیگری، شما باید اصول را قبل از رسیدن به چیزهای سرگرم‌کننده یاد بگیرید. من اگر قبل از ورود به الگوریتم‌های یادگیری ماشین، شروع به یادگیری ریاضیات و آمار می‌کردم، کارم خیلی راحت‌تر می‌شد.سه موضوع کلی که توصیه می‌کنم بررسی کنید جبر / انتگرال، آمار و جبر خطی (بدون ترتیب خاصی) هستند.الف) انتگرالدر مورد توزیع‌های احتمال و آزمون فرضیه، انتگرال‌ها ضروری هستند. با اینکه نیازی نیست متخصص باشید، اما به نفع شماست که اصول و مبانی انتگرال‌ها را یاد بگیرید.دو مقاله اول برای کسانی است که می‌خواهند درباره مفهوم انتگرال ایده‌ای به دست بیاورند و یا برای کسانی که به یک یادآوری نیاز دارند. اگر هیچ چیز درباره انتگرال‌ها نمی‌دانید، توصیه می‌کنم دوره آکادمی خان (Khan Academy) را تمام کنید. در نهایت، من یک لینک اضافه کرده‌ام که شامل تعدادی از مسائل تمرینی برای بهبود مهارت‌های شماست.مقدمه‌ای بر انتگرال (مقاله ترجمه شده)کلاس فشرده انتگرال‌ها (مقاله ترجمه شده)آکادمی خان: حساب دیفرانسیل و انتگرال (دوره)سوالات عملی (از درس ۶ شروع کنید)ب) آماراگر یک موضوع وجود داشته باشد که شما باید بیشتر وقت خود را روی آن متمرکز کنید، این آمار است. هر چه باشد، یک کارشناس داده واقعا یک آمارگر مدرن است و یادگیری ماشین یک اصطلاح مدرن برای آمار است.اگر وقت دارید، توصیه می‌کنم که دوره جورجیا تک به نام «روش‌های آماری» را بگذرانید، که اصول احتمال، متغیرهای تصادفی، توزیع‌های احتمالی، تست فرضیه و غیره را پوشش می‌دهد.اگر وقت ندارید که دوره فوق را بگذرانید، من قطعا توصیه می‌کنم که از ویدیو آکادمی خان در موضوع آمار دیدن کنید.ج) جبر خطیجبر خطی به ویژه در صورتی مهم است که بخواهید به یادگیری عمیق برسید، اما حتی در آن صورت هم دانستن آن برای دیگر مفاهیم بنیادی یادگیری ماشین، مانند آنالیز مولفه‌های اصلی و سیستم‌های توصیه، خوب است.برای جبر خطی نیز من آکادمی خان را توصیه می‌کنم!۲. اصول برنامه‌نویسیهمان طور که داشتن درک پایه‌ای از ریاضیات و آمار مهم است، داشتن درک پایه‌ای از برنامه‌نویسی زندگی شما را بسیار آسان‌تر خواهد کرد، به خصوص زمانی که به مرحله اجرا می‌رسید. بنابراین، توصیه می‌کنم که قبل از شیرجه زدن داخل الگوریتم‌های یادگیری ماشین، برای یادگیری SQL پایه و پایتون وقت بگذارید.الف) SQLاینکه اول پایتون یاد بگیرید یا SQL کاملا بستگی به شما دارد، اما اگر از من بپرسید، با SQL شروع می‌کنم. چرا؟ چون هم یادگیری آسان‌تر است و هم اگر برای شرکتی که با داده‌ها کار می‌کند کار می‌کنید، حتی اگر دانشمند داده نیستید، دانستن آن مفید است.اگر SQL کاملا برای شما جدید است، من توصیه می‌کنم به تدریس SQL Mode بروید، چون بسیار مختصر و کامل است. اگر می‌خواهید مفاهیم پیشرفته‌تر را یاد بگیرید، من لیست منابعی که می‌توانید برای یادگیری پیشرفته SQL استفاده کنید (ترجمه شده) را منتشر کرده‌ام.از همه مهم‌تر، در زیر تعدادی از منابعی که می‌توانید برای تمرین SQL استفاده کنید آورده شده‌است.سوالات Leetcodeپرسش‌های Hackerrankمطالعات موردیب) پایتونمن با پایتون شروع کردم، و احتمالا تا آخر عمر با پایتون خواهم ماند. پایتون تا کنون در زمینه مشارکت‌های منبع آزاد بسیار جلوتر است، و یادگیری آن آسان است. اگر می‌خواهید می‌توانید از R استفاده کنید اما من هیچ نظر یا توصیه‌ای برای ارائه در مورد R ندارم.من شخصا متوجه شدم که یادگیری پایتون از طریق «انجام دادن» بسیار مفیدتر است. با این وجود، بعد از گذراندن چند دوره فشرده پایتون، متوجه شدم که این یکی جامع‌ترین دوره است (و رایگان است!) .مقدمه‌ای بر برنامه‌نویسی پایتون- جورجیا تکج) Pandasمسلما مهم‌ترین کتابخانه‌ای که در پایتون می‌توان یافت و به طور خاص برای کار برروی داده‌ها و تجزیه و تحلیل آن‌ها مورد استفاده قرار می‌گیرد، Pandas است.در زیر دو منبع که باید به سرعت شما را بالا ببرند آورده شده‌است. لینک اول یک برنامه آموزشی درباره نحوه استفاده از Pandas است و لینک دوم ده‌ها و ده‌ها مسئله عملی ارائه می‌کند که می‌توانید از آن‌ها برای انسجام بخشیدن به آموخته‌هایتان استفاده کنید!Pandas را با Kaggle یاد بگیرید.Pandas را با ده‌ها مسئله تمرین کنید!۳. الگوریتم‌ها و مفاهیم یادگیری ماشیناگر به این نقطه رسیدید، به این معنی است که پایه و اساس خود را ساخته‌اید و آماده یادگیری چیزهای جالب و سرگرم‌کننده هستید. این بخش به دو قسمت تقسیم می‌شود: الگوریتم‌های یادگیری ماشین و مفاهیم یادگیری ماشین.الف) الگوریتم‌های یادگیری ماشینگام بعدی یادگیری الگوریتم‌های یادگیری ماشین مختلف، نحوه کار آن‌ها و زمان استفاده از آن‌ها است. در زیر لیستی غیر جامع از الگوریتم‌ها و منابع یادگیری ماشین مختلف آورده شده‌است که می‌توانید از آن‌ها برای یادگیری در مورد هر کدام از آن‌ها استفاده کنید.رگرسیون خطی (جورجیا تک، StatQuest)رگرسیون لوژستیکی (StatQuest)K- نزدیک‌ترین همسایگان (MIT)درخت‌های تصمیم‌گیری (StatQuest)بیز ساده (Terence Shin، Luis Serrano)ماشین‌ بردار پشتیبان (آموزش SVM، آلیس ژائو)شبکه‌های عصبی(ترجمه شده) جنگل‌های تصادفی (StatQuest)آدابوست ترجمه شدهافزایش گرادیان (StatQuest)XGBoost (StatQuest)تجزیه و تحلیل اجزا اصلی (StatQuest)ب) مفاهیم یادگیری ماشینبه طور مشابه، چندین مفهوم بنیادی یادگیری ماشین وجود دارند که باید آن‌ها را مرور کنید. در زیر لیستی (غیر جامع) از مفاهیم آورده شده‌است که به شدت توصیه می‌کنم از آن‌ها استفاده کنید. بسیاری از سوالات مصاحبه براساس این موضوعات هستند!توازن بایاس و واریانس (ترجمه شده)رگولاریزاسیون (ترجمه شده)ماتریس درهم‌ریختگی و معیارهای مرتبط (ترجمه شده)AUC و ROC (ویدئو)نمونه‌گیری بوت استرپ (ترجمه شده)یادگیری جمعی، کیسه‌گذاری و تقویت (ترجمه شده)نرمال‌سازی در مقابل استانداردسازی (ترجمه شده)۴. پروژه‌های علوم دادهتا این مرحله نه تنها یک پایه و اساس قوی خواهید داشت، بلکه یک درک قوی از اصول یادگیری ماشین نیز دارید. حالا زمان آن است که بر روی برخی پروژه‌های جانبی شخصی کار کنید، همان طور که کدنویسان هم پروژه‌های جانبی برای خود دارند.اگر می‌خواهید به چند مثال ساده پروژه علم داده نگاه کنید، برخی از پروژه‌های من را در زیر بررسی کنید:تصویرسازی داده‌های ویروس کرونا با استفاده از Plotly (مقاله ترجمه شده، گیت‌هاب)سیستم راهنمای فیلتر کردن مشارکتی برای فیلم‌ها (گیت‌هاب)در اینجا لیستی از پروژه‌های علم داده آورده شده‌است که می‌توانید برای خلق ایده آن‌ها را نگاه کنید و یک پروژه جانبی جالب از خودتان ارائه کنید.از اینکه این مطلب را خواندید متشکرم!امیدوارم که این مطلب مسیری را در اختیار شما قرار دهد و به شما کمک کند تا در حرفه دانش اطلاعات خود وارد شوید. هیچ راه میانبر ساده‌ای برای وارد شدن به این علم وجود ندارد، اما من واقعا معتقدم که یادگیری اصول در آینده مفید خواهد بود.این متن با استفاده از ربات ترجمه مقاله علمی ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.