زبان برنامه نویسی R یا پایتون؟ کدامیک برای تحلیل داده بهتر هستند؟

من یک مهندس فناوری اطلاعات هستم که علاقه زیادی به دنیای فناوری اطلاعات، برنامه نویسی، امنیت و شبکه دارم.

زبان برنامه نویسی R یا پایتون؟ کدامیک برای تحلیل داده بهتر هستند؟

۵۳۹ بازديد
بحث در مورد Python در مقابل R در جامعه دانشمند اطلاعات، در اینجا نحوه دو زبان برنامه نویسی مطابقت دارد.

پایتون در مقابل R یک بحث مشترک در بین دانشمندان داده است، زیرا هر دو زبان برای کار داده ها و در میان مهارت های اغلب ذکر شده در پست های شغلی برای موقعیت های داده های علمی مفید هستند. هر زبان مزایا و معایب مختلفی برای کار علمی داده است و باید بسته به کار شما انجام شود.

Norm Matloff، استاد علوم رایانه ای در دانشگاه کالیفرنیا دیویس، برای کمک به دانشمندان داده ها، یک زبان گیتفا را برای هدف قرار دادن برخی از نکات در این بحث نوشت.

Matloff R و Python را در 10 دامنه زیر مقایسه کرد تا تعیین کنند کدام زبان برنامه نویسی بهتر انتخاب شده است:

ظرافت
برنده: دوره آموزشی پایتون
در حالی که این ذهنیت است، پتون در هنگام برنامه نویسی به طور چشمگیری استفاده از پرانتز و پرانتز را کاهش می دهد، و آن را براق تر می کند، Matloff در پست نوشت.

منحنی یادگیری
برنده: R

در حالی که دانشمندان داده ها با پایتون باید بسیاری از مواد را برای شروع به یادگیری، از جمله NumPy، Pandas و matplotlib یاد بگیرند، انواع ماتریس و گرافیک پایه در پایه R ساخته شده است، Matloff نوشت.

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

کتابخانه های موجود
برنده: جفت

شاخص بسته پایتون (PyPI) دارای بیش از 183000 بسته است، در حالی که شبکه جامع R Archive (CRAN) بیش از 12،000 دارد. Matloff نوشت، با این حال، PyPI نسبت به علوم داده بسیار نازک است.

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

هنگامی که شرایط زیر را در PyPI جستجو می کنید، هیچ چیز نمی آید، Matloff افزود: مدل log-line؛ رگرسیون پواسون؛ متغیرهای ابزار؛ داده های فضایی؛ نرخ خطای خانوادگی.

یادگیری ماشین
برنده: پایتون (اما نه خیلی زیاد)

رشد گسترده پایتون در سال های اخیر بخشی از افزایش یادگیری ماشین و هوش مصنوعی (AI) است. Matloff نوشت: در حالی که دوره Python تعدادی از کتابخانه های دقیق را برای تشخیص تصویر ارائه می دهد، مانند AlexNet، نسخه های R نیز به آسانی قابل توسعه می باشند.

"قدرت کتابخانه های پایتون از تنظیم برخی از عملیات تشخیص تصویر است که می تواند به راحتی در پوشه Reras Keras اجرا شود و از این رو، یک نسخه خالص از TensorFlow می تواند توسعه یابد"، Matloff نوشت. "در همین حال، من می خواهم ادعا کنم که در دسترس بودن بسته های R برای جنگ های تصادفی و تقویت شیب قابل توجه است."

صحت آماری
برنده: R (تا کنون)

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

محاسبات موازی
برنده: جفت

متلوف نوشت: نسخه های پایه R و Python پشتیبانی زیادی برای محاسبات چندگانه ندارند. بسته multiprocessing پایتون یک راه حل خوب برای مسائل دیگر آن نیست، و بسته موازی R نیز نیست.

ماتلوف نوشت: "کتابخانه های خارجی که از محاسبه خوشه پشتیبانی می کنند در هر دو زبان خوب هستند." "در حال حاضر پایتون رابط کاربری بهتر را به GPU ها دارد."

رابط C / C ++
برنده: R (اما نه خیلی زیاد)

متلوف نوشت: Rcpp R یک ابزار قدرتمند برای اتصال R به C / C ++ است. در حالی که پایتون ابزارهایی مانند swig برای انجام این کار دارد، آنقدر قدرتمند نیست و بسته Pybind11 هنوز در حال توسعه است. ماتلوف نوشت: ایده جدید ALTREP R همچنین دارای قابلیت بالقوه برای افزایش عملکرد و قابلیت استفاده است. با این حال، انواع Cython و PyPy از Python گاهی اوقات می تواند نیاز به رابط C / C ++ صریح را حذف کند.

جهت گیری شی، metaprogramming
برنده: R (اما نه خیلی زیاد)

ماتلوف نوشت، اگرچه توابع اشیا در هر دو R و Python هستند، R آن را جدی تر می گیرد.

او گفت: "هر زمان که من در پایتون کار می کنم، من از این واقعیت که من نمی توانم یک تابع را به ترمینال، که من در R بسیار کار می کنم، ناراحت هستم." پایتون تنها یک پارادایم OOP دارد. در R، شما انتخاب خود را از چند، هر چند برخی ممکن است بحث که این خوب است. با توجه به ویژگی های متالورژیم جادویی R (کد تولید کد)، دانشمندان کامپیوتر باید روی R قرار بگیرند. "

اتحاد زبان
برنده: پایتون (تا کنون)

در حالی که پایتون از نسخه 2.7 به 3.x منتقل می شود، این باعث ایجاد اختلال زیادی نمی شود. با این حال، متولف نوشت: R به دلیل تاثیرات RStudio: R و Tidyverse به دو گویش متفاوت تبدیل شده است.
ماتلوف نوشت: "شاید بهتر باشد اگر Tidyverse برتر از R معمولی باشد، اما به نظر من این نیست." "این باعث می شود همه چیز برای مبتدیان مشکل تر است."

ساختارهای داده مرتبط هستند
برنده: پایتون (به احتمال زیاد)

ماتلوف نوشت: "ساختار داده های کلاسیک علوم رایانه، مانند درخت های باینری، در پیونس آسان است." "در حالی که این را می توان در R با استفاده از کلاس" لیست "خود انجام داد، می توان حدس زد که آن آهسته است."

طبق یک گزارش آکادمی ابر 2018، هنگامی که به پست های کاری می آید، تقاضا برای مهندسان داده با R در مقایسه با افرادی که در پایتون مهارت دارند، کم است. تقریبا 66٪ از پست های پست شده توسط مهندسین داده مربوط به پایتون بوده است، در مقایسه با فقط 18٪ از پست هایی که اشاره کردید.

طبق گفته Cloud Academy، خارج از R و Python، دیگر مهارت های درخواستی برای مهندسان داده شامل SQL، Spark، Hadoop، Java، Amazon Web Services (AWS)، Scala و کافکا هستند.
تا كنون نظري ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در فارسی بلاگ ثبت نام کرده اید می توانید ابتدا وارد شوید.