این روزها علم داده یا data science طرفدارهای بسیار زیادی پیدا کرده و به سرعت در حال گسترش است. اما سوالی که برای بسیاری از برنامه نویسان مطرح می شود این است که کدام زبان برنامه نویسی برای این کار بهتر است؟ قبل از اینکه در مورد زبان های برنامه نویسی صحبت کنیم، بهتر است کمی بیشتر در مورد خود علم داده اطلاع پیدا کنیم.

 

علم داده یا data science چیست؟

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

علم داده سال های زیادی است که پدید آمده ولی نوآوری در زبان های برنامه نویسی مانند پایتون و R باعث گسترش قابلیت های آن در استفاده از نرم افزارهای گوناگون شده و سرعت جمع آوری ، ارزیابی و آنالیز داده ها را به طور چشمگیری افزایش داده است.

 

علم داده data science

 

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

 

جمع آوری داده (data collection)

اولین تفاوت مهم زبان های پایتون و R در حوزه جمع آوری داده است. برای مثال زبان پایتون از انواع فرمت های گوناگون از csv گرفته تا json و حتی جداول sql پشتیبانی می کند. در حوزه توسعه وب هم پایتون این اجازه را می دهد که داده ها را از دنیای وب جمع آوری کنید و در جداولی که خودتان ساختارش را مشخص کرده اید، قرار دهید. در مقابل زبان R برای وارد کردن داده هایی با فرمت excel ، csv و txt بهینه سازی شده است.

 

اکتشاف داده (exploring data)
پایتون یک کتابخانه بسیار قدرتمند برای تحلیل و اکتشاف داده به نام Pandas دارد که می توانید از آن برای عملیات گوناگونی مثل فیلتر کردن داده ها، مرتب سازی و نمایش داده ها به راحتی استفاده کنید. در مقابل زبان R برای آنالیزهای آماری در دیتاست های بزرگ بهینه شده و شامل قابلیت های متنوعی برای انجام عملیات اکتشاف داده است. با استفاده از زبان R شما می توانید توزیع احتمال های مختلفی برای داده هایتان در نظر بگیرید، تست های آماری زیادی به کار ببرید و عملیات های مختلف داده کاوی و یادگیری ماشین اجرا کنید.

 

مدل سازی داده (data modeling)

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

 

تصویرسازی داده (data visualization)

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

 

مقایسه زبان پایتون و زبان آر

 

با این تفاسیر کدام زبان برای افراد مبتدی بهتر است؟

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