LOGIN
ثبت نام یا ورود
Avatar
هنوز ثبت نام نکرده اید؟

هم اکنون عضو پلاک آبی شوید .و به اطلاعات وب سایت ما دسترسی داشته باشید

تنظیم مجدد کلمه عبور - نام کاربری را فراموش کرده ام

نام کاربری
کلمه عبور
مرا به خاطر بسپار

placabi articles

مقایسه R و پایتون R and Python comparision

مقایسه R و پایتون

  • این مورد را ارزیابی کنید
    (16 رای‌ها)

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

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

 Martijn Theuwissen، موسس وب سایت DataCamp، که در زمینه ارائه دوره­ های آموزشی مرتبط با داده کاوی، کلان داده و زبان های برنامه نویسی مرتبط فعال است، در مقاله­‌ای به بررسی و مقایسه دو مورد از مهم­ترین زبان­ های برنامه­ نویسی مورد استفاده در علم داده­ پرداخته است. وی می­‌نویسد:

دانش­‌آموزان ما در DataCamp همواره این پرسش را مطرح می‌کنند که در تحلیل­ داده‌ های خود از کدام زبان برنامه­ نویسی استفاده کنیم؟ R یا Python ؟ اگرچه یکی از توصیه­‌های ما به افرادی که مایل به ورود به این حوزه از علم هستند، شرکت در دوره­ های آموزشی زبان R است، اما از سوی دیگر، پاسخ اصلی ما به این دست سوالات این است که "نوع زبان برنامه­ نویسی مورد استفاده، به چالش­ های پیش روی تجزیه و تحلیل داده­ ها بستگی دارد".

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

در این نوشتار، به بررسی تعدادی از تفاوت­‌های زبان‌های R و Python، همین‌طور جایگاه هر یک از آنها در تحلیل­ های آماری و علم داده­ می­‌پردازیم. نمودار اطلاعاتی ارائه شده در  ”Data Science Wars: R vs Python” ، تفاوت­‌های این دو زبان را به صورت تصویری ارائه می­‌دهد.

 

 معرفی زبان R

زبان R، در سال 1995، توسط Ross Ihaka و Robert Gentleman، به عنوان زبانی متن باز و بر پایه زبان برنامه­‌ نویسی S توسعه پیدا کرد. هدف  از ارائه این زبان را می‌­توان تمرکز بر ایجاد بستری مناسب برای تحلیل داده­ ، تحلیل­ های آماری و ساخت مدل­‌های گرافیکی ذکر کرد. در ابتدا این زبان بیشتر در حوزه های آکادمیک، دانشگاه­‌ها و حوزه­‌های پژوهشی مورد استفاده قرار می­‌گرفت، اما اخیراً حوزه­‌های عملیاتی نیز تا حد زیادی به قابلیت­‌های این زبان در پیاده ­سازی تئوری­‌ها، پی برده­‌اند. این دید، زبان R را به یکی از پیشگامان زبان­‌های آماری در حوزه­‌های کاربردی تبدیل کرده است.

یکی از مهم­ترین نقاط قوت R، افراد زیادی هستند که از طریق mailing lists، user-contributed documentation، و نیز سایت stack overflow، به پشتیبانی از این زبان مشغولند. همچنین پایگاه CRAN (شبکه‌ی جامع آرشیو R) مجموعه‌ای از پکیج­‌های زبان R است که کاربران به آسانی به آن دسترسی دارند. این پکیج­‌ها، مجموعه­‌ای از داده­‌ها و توابع  در زبانR  هستند که به کاربران این امکان را می‌دهد که به تکنیک­‌ها و عملکردهای این زبان، بدون نیاز به برنامه‌نویسی از صفر تا صد آن، دسترسی داشته باشند.

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

 

پیش ثبت نام دوره داده کاوی با زبان برنامه نویسی R

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

 

 

python or R

 

 

 

معرفی زبان Python

پایتون در سال 1991، توسط Guido Van Rossem عرضه شد. تاکید اصلی این زبان، بر بهره­‌وری و خوانایی کد قرار داده شده است. از مهم­ترین گروه­‌های کاربری این زبان، می­‌توان به برنامه‌ نویسانی اشاره کرد که در پی تحلیل­ داده‌  یا اعمال تکنیک­‌های آماری بر داده­‌ها هستند.

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

Python نیز مانند R، از پکیج­‌های آماده برای  استفاده پشتیبانی می‌­کند. پایگاه PyPi مجموعه­‌ای از کتابخانه­­‌های این زبان را گردآوری کرده و در عین حال، کاربران می­‌توانند پکیج­‌هایی که خود توسعه داده­‌اند را در این پایگاه قرار دهند. از سوی دیگر، اگرچه جامعه بزرگی از توسعه­‌دهندگان از این زبان پشتیبانی می‌کنند، اما این پشتیبانی، به اندازه‌ی جامعه توسعه­‌دهندگان زبان R، از قدرت و پیوستگی  برخوردار نیست. دلیل این عدم پیوستگی را شاید بتوان در همه منظوره بودن این زبان و استفاده از آن در حوزه­‌های مختلف علم، جستجو کرد. با این اوصاف، کاربرد و جایگاه Python در علم داده­ هر روز بیشتر شده و هر روز، بیشتر از رقبایش  پیشی می‌گیرد. می توان گفت با رشد انتظارات از کاربردهای  این زبان در علم داده­، متخصصین داده، پیاده ­سازی و عملیاتی شدن بسیاری از ایده­‌های مطرح در این حوزه را منوط به استفاده از این زبان می­‌دانند.

 

 R در مقابل Python : مقایسه‌های کلی

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

r vs python منبع تصویر : مقاله R vs Python for cluster analysis

 

 شرایط و چگونگی استفاده از زبان R

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

اولین و بهترین گام در شروع یادگیری زبان R، نصب RStudio IDE است. در گام بعد، بررسی پکیج‌های زیر توصیه می‌شود:

  • dplyr ، plyr و table برای اعمال تغییرات در پکیج‌ها
  • stringr برای اعمال تغییرات بر رشته­‌ها
  • Zoo برای کار با سری­‌های زمانی مرتب و نامرتب
  • ggvis ، lattice و ggplot2 برای مصور سازی داده­‌ها
  • caret برای استفاده از ابزارهای یادگیری ماشین

 

شرایط و چگونگی استفاده از زبان Python 

زبان پایتون عمدتا زمانی کاربرد پیدا می‌کند که نیازمند ادغام الگوریتم‌­های تحلیل داده­ در اپلیکیشن‌های تحت وب، یا گنجاندن کدهای آماری در پایگاه­‌های داده‌ای ساخته شده باشیم. Python به عنوان یک زبان برنامه­ نویسی کاملاً تکامل یافته، ابزاری مناسب برای پیاده­ سازی الگوریتم­‌ها در سطوح کاربردی و عملیاتی است.

درحالیکه کمبود پکیج‌های زبان پایتون در حوزه تحلیل داده ، در گذشته یک دغدغه محسوب می­‌شد، در سال­های اخیر توسعه آنها با پیشرفت چشمگیری مواجه شده است. به کاربران توصیه می‌شود تا پکیج NumPy/SciPy (انجام محاسبات علمی) و Pandas (ابزار دستکاری داده) را نصب کنند تا بتوانند از تمامی امکانات و ابزارهای تجزیه و تحلیل داده بهره ببرند. نگاهی اجمالی به کتابخانه matplotlib (برای استفاده از ابزارهای گرافیکی این زبان) و scikit-learn (برای استفاده از ابزارهای یادگیری ماشین) نیز قطعا مفید خواهد بود.

بر خلاف زبان R، در میان  IDE های Python هیچیک برتری خاصی بر دیگری  ندارد. در واقع چندین IDE برای این زبان طراحی شده که از آن میان می‌توان به Spyder، IPython Notebook و Rpdeo اشاره کرد که کاربر بر حسب نیاز و البته مساله موردنظرش، می‌تواند IDE کاربردی­‌اش را برگزیند.

 

 R در مقابل پایتون: مقایسات تخصصی (مبتنی بر علم داده­)

بررسی نظرسنجی­‌های انجام شده در ارتباط با زبان‌های برنامه نویسی مورد استفاده در تجزیه و تحلیل های داده‌ای، نشان از پیشگامی واضح زبان R نسبت به سایر زبان‌ها دارد. مقایسه اختصاصی R و Python در حوزه تجزیه و تحلیل داده ای که در گروه­‌های پشتیبان این زبان انجام شده نیز، چنین شواهدی را ارائه می‌دهد.

پایتون یا R

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

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

 

مزایای زبان R

یک تصویر، گویاتر از هزار کلمه است

داده ی مصور سازی شده، نسبت به داده ی خام، راحت‌­تر و سریع­‌تر توسط کاربران درک می‌شود. زبان R و ابزارهای مصور سازی آن، به‌خوبی در کنار یکدیگر قرار می‌گیرند. از کاربردی­‌ترین پکیج‌های مورد استفاده کاربران در مصور سازی داده می‌توان به ggplot2، ggvis، googleVis و rCharts اشاره کرد.

اکوسیستم R

زبان R دارای اکوسیستمی غنی از پکیج‌های پیشرفته و پشتیبانی­‌های فعال است. این پکیج‌ها به آسانی از طریق پایگاه CRAN، BioConductor و Github در دسترس­‌اند. کاربران برای دسترسی و جستجوی پکیج‌های R می‌توانند از وب سایت www.rdocumentation.org استفاده کنند.

زبان بین­‌المللی علم داده­

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

کندی R، مزیت یا عیب؟

زبان R برای کمک به آماردانان و تسهیل فعالیت­‌های آماری آنها توسعه پیدا کرده است، این در حالیست که کامپیوتر از این کمک نه تنها بهره­‌ای نمی­‌برد، بلکه متضرر هم می‌شود، دلیل آن هم در نظر گرفتن نیازمندی­‌های آماردانان و توجه نه چندان زیاد به نیازمندی‌های کامپیوتری است. کدهای نوشته شده در زبان R می‌توانند از نظر سرعت، بسیار کند باشند. هر چند این نقص می‌تواند با استفاده از پکیج-های آماده R، مانند pqR، renjin، FastR و Riposte تا حد زیادی بهبود پیدا کند.

 

معایب زبان R

شیب تند منحنی یادگیری زبان

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

 

مزایای زبان Python

محیط برنامه­ نویسی

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

همه منظوره بودن زبان پایتون

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

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

چندمنظوره بودن زبان پایتون

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

تکنیک‌های مصور سازی در Python ، مزیت یا عیب؟

در بحث استفاده از نرم‌افزار های تحلیل داده ، تکنیک های مصور سازی، معیاری مهم تلقی می­‌شوند. اگرچه Python ، کتابخانه‌های خوبی همچون Seaborn، Bokeh و Pygal در زمینه مصور سازی داده دارد، در سایر زبان ها می‌توان کتابخانه‌های قوی­‌تری  در این زمینه یافت. علاوه بر این، تکنیک های مصور سازی در پایتون در مقایسه با زبان آر پیچیده­‌تر بوده و نتایج حاصل از آنها خیلی چشمگیر نیستند.

 

معایب زبان Python

چالشی برای پایتون

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

 

 R  و Python ، ابر قهرمان های امروزی!

 زبان R و python

منبع تصویر : مقاله R vs Python – Superheroes

 

 

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

می‌توان گفت بسته به شرایط، پاسخ این سوال متفاوت است. یک دانشمند داده‌  باید بتواند به اقتضای شغلش، زبانی که بهتر و بیشتر بر نیازمندی‌های شغلی‌­اش منطبق است را برگزیند. در این راه، پاسخ به سوالات زیر به متخصصین در انتخابشان کمک خواهد کرد:

  • مساله مورد نظر چیست؟
  • هزینه­‌های خالص یادگیری یک زبان برنامه­ نویسی جدید چقدر است؟
  • ابزارهای معمول مورد استفاده در زمینه شغلی مورد نظر کاربر چیست؟
  • چه ابزارهای دیگری در دسترس­‌اند، و ارتباط این ابزارها با ابزارهای معمول مورد استفاده در آن شغل به چه صورت است؟

     

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

 

مشخصات دوره آموزش داده کاوی با Python

 

 منبع :سایت kdnuggets.com

خواندن 3373 دفعه آخرین ویرایش در شنبه, 18 فروردين 1397 09:28
طاها مکفی

مدیر گروه داده کاوی ایران

بیش از 7 سال سابقه آموزش، مشاوره و پیاده سازی پروژه های داده کاوی

 

مدرس و مدیر پروژه های داده کاوی شرکت پلاک آبی

کارشناس ارشد Statistical Computing - Data Mining از دانشگاه UCF امریکا

  • هیچ نظری یافت نشد

نظر خود را اضافه کنید.

ارسال نظر به عنوان مهمان

0
نظر شما به دست مدیر خواهد رسید
 تماس با ما

شهرک غرب، بلوار فرحزادی، خیابان تربیت معلم،
انتهای خیابان گلبان،
مجتمع موج، واحد 105
کد پستی: 1998963193
تلفن: 5 - 88560784
فکس: 88560786
پست الکترونیک:
info @ p l a c a b i . com
ibig @ p l a c a b i . com

 

We use cookies to improve our website. By continuing to use this website, you are giving consent to cookies being used. More details…