برنامه‌نویسی R در مقابل پایتون: مبتدیان باید چه چیزی یاد بگیرند؟

منتشر شده در towardsdatascienc به تاریخ ۸ می ۲۰۲۱
لینک منبع: R vs Python: What Should Beginners Learn?

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

چرا باید به پیشنهاد من گوش کنید؟

بنده در حال حاضر یک گروه تحقیقاتی را با دانشمندان داده رهبری می‌کنم که هم از R و هم از پایتون استفاده می‌کنند. من بیش از ۱۴ سال است که در این زمینه کار می‌کنم. من در پروژه‌ها هم از R و هم از پایتون استفاده کرده‌ام. در طول سال‌ها شاهد رشد هر دو زبان بوده‌ام. در حال حاضر جامعه پر رونق پشت سر این دو قرار دارد.

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

بیایید یک چیزی را از سر راه برداریم.

زبان R چیست؟ پایتون چیست؟ آن‌ها فقط ابزارهایی برای انجام همان کار هستند. علم داده. هیچ کدام از این ابزارها ذاتا بهتر از دیگری نیستند. هر دو ابزار در طول سال‌ها در حال تکامل بوده‌اند (و احتمالا به این کار ادامه می‌دهند.( بنابراین، پاسخ کوتاه در مورد اینکه آیا شما باید پایتون را یاد بگیرید یا R این است: بستگی دارد.

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

مطالعه به حداکثر رساندن سودآوری کسب‌وکار خود با پایتون توصیه می‌شود.

اهداف شغلی دانش داده خود را درک کنید

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

شرایط شما هر چه که باشد، در نهایت، شما باید یک تجربه غنی و عملی داشته باشید که بر روی یک پروژه علم داده کار کند. برای رسیدن به این هدف، شما باید تجربه هر مرحله از یک پروژه علم داده دنیای واقعی را داشته باشید (از جمع‌آوری داده تا تفسیر نهایی.)

یک پروژه Kaggle به اندازه کافی خوب نیست!

الزامات معمول علوم داده دنیای واقعی را درک کنید

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

برای اینکه شما به هر یک از اهداف کاری دانش اطلاعات خود دست یابید، باید درک روشنی از خط لوله(خط ارتباطی) پروژه کامل داشته باشید. شما باید مدل‌هایی که انتخاب کرده‌اید و چرایی منایب بودن آن‌ مدل‌ها را بدانید. باید در نمودارهای تصویری که استفاده می‌کنید، شفاف باشید. باید داستانی بگویید که منطقی به نظر برسد!

همه این وظایف را می‌توان هم در پایتون و هم در R انجام داد. شما می‌توانید مدل اشتباهی را انتخاب کنید و آن اشتباه را هم در پایتون و هم در R انجام دهید.

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

با این حال، اگر نمی‌توانید داستان علم داده قانع‌کننده را به من بگویید و به سوالات اساسی مستقل از زبان پاسخ دهید، من شما را استخدام نمی‌کنم!

از این اشتباه رایج اجتناب کنید:

هم R و هم پایتون به احتمال زیاد ۹۹٪ موارد استفاده از هر پروژه علمی داده معمولی را پشتیبانی می‌کنند. با این حال، بسیاری از دانشمندان مشتاق داده، این اشتباه را مرتکب می‌شوند که به ابزارها اهمیت غیرضروری می‌دهند. برخی از آن‌ها، در تلاش برای کارآمدتر بودن، سعی در یادگیری ترکیب R و پایتون دارند. صادقانه بگویم، این بهترین راه برای صرف زمان یادگیری نیست. شما نمی‌توانید در تلاش برای تبدیل شدن به یک متخصص در هر دو مورد اشتباه کنید.

اما تقسیم وقت محدود خود بر روی دو ابزار که مهارت متوسطی را برای دو ابزار در اختیار شما قرار می دهد و یک متخصص در هیچ یک اتلاف وقت نیست. زمانی که بحث بر سر پایتون در مقابل R می‌شود، خود را خبره همه معاملات ندانید و همه‌کاره و هیچ‌کاره نباشید.

ممکن است مطالعه اشتباهات رایج هنگام برخورد با پرونده‌های چندگانه پایتون مفید باشد.

ذهنیت درست را به دست آورید

شما باید ذهن باز داشته باشید و با این زبان‌ها به عنوان ابزار برخورد کنید. شما قطعا باید یک زبان را انتخاب کنید، تجربه کاملی در آن داشته باشید تا زبان مقصد شما شود. شما برای انجام نمونه‌سازی سریع و انجام آنالیزهای اولیه و سریع به زبان مقصد نیاز دارید.

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

اول چه چیزی را باید یاد بگیرید؟

این یک راهنمای سخت است که ثابت نیست، اما اگر کاملا بدون اطلاع باشید، می‌توانید از آن به عنوان نقطه شروع خود استفاده کنید. اگر شما بخشی از یک تیم هستید و آن‌ها از یک زبان خاص استفاده می‌کنند، پس منطقی است که آن زبان را به کار بگیرید تا زندگی شما را آسان‌تر کند (برای به اشتراک‌گذاری کد و تخصص(

اگر یک درس خاص را انجام می‌دهید، باز هم منطقی است که زبانی را انتخاب کنید که درس از آن پشتیبانی می‌کند.

اگر شما در حال حاضر یک پیش‌زمینه در برنامه‌نویسی دارید، پس پایتون ممکن است طبیعی‌تر به نظر برسد.

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

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

پروژه‌های دنیای واقعی را انجام دهید

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

با این حال، شما می‌توانید این وضعیت را با ایجاد دوره‌های یادگیری پرمعنی‌تر، تعاملی و مرتبط، اصلاح کنید. چگونه می‌توانید این کار را انجام دهید وقتی بحث یادگیری R یا پایتون باشد؟ با انجام یک پروژه واقعی که شما آن را پرمعنا و مرتبط می‌دانید.

لازم نیست ساعت‌ها آموزش صرف کنید و ترکیب هر زبانی را به خاطر یادگیری ترکیب یاد بگیرید (گوگل، استک اورفلو، و حتی یک IDE مناسب می‌تواند ترکیب را اصلاح کند.) این تجربه انجام پروژه‌های دنیای واقعی است که به تحکیم یادگیری شما کمک خواهد کرد و شما را قادر می‌سازد تا زبانی به عنوان زبان مقصد داشته باشید.

سخن پایانی

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

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

در پایان، اینها فقط ابزار هستند و رقابتی نیست.

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