در این سری از آموزش تصمیم داریم شما را با زبانی برنامهنویسی R، مخصوص داده کاوی و تحلیل داده ها آشنا سازیم. آموزش این زبان در روزهای سه شنبه و جمعه هر هفته، در روی سایت فیسیت وکانال آموزش فیسیت در تلگرام قرار می گیرد. با ما همراه باشید در قسمتهای مختلف این آموزش.
آشنایی با زبان برنامهنویسی R
R یک زبان برنامهنویسی و یک محیط برای انجام محاسبات آماری و تحلیلی است. این زبان از زبان برنامهنویسی دیگری به اسم S که زبانی قدیمی برای محاسبات آماری بوده گرفته شده و در نهایت R را تشکیل داده است. این زبان در آزمایشگاه تحقیقاتی بل AT&T و توسط ریک بکر ، جان چمبرز و آلن ویلکز ساخته شده است.
کاربرد زبان برنامهنویسی R
اگر میخواهید تحلیلهایی بر روی دادههای مختلف انجام دهید نیاز به ابزار دارید. به عبارت دیگر برای انجام تحلیل در پروژههای داده کاوی، یادگیری ماشین و پردازشهای آماری نیاز به ابزارهایی دارید که الگوریتمهای مورد نیاز شما را به اجرا درآورند. ابزارهای بسیار زیاد و متفاوتی را در این زمینه میتوانید بیابید و R یکی از آنهاست. علاوه بر ابزارهای آمادهای که برای این منظور ساخته شدهاند در زبانهای برنامهنویسی مختلف نیز شما میتوانید کتابخانههایی برای تحلیل دادهها بیابید (زبانهایی مثل جاوا و پایتون از جمله زبانهایی هستند که برای کارهای عمومی ساخته شدهاند اما کتابخانههای زیادی برای تحلیل داده دارند). درواقع برای تحلیل دادهها شما باید بدانید چه چیزی را میخواهید تحلیل کنید و اینکه از چه روشی میخواهید استفاده کنید، این ابزارها وسیله هستند و حتی بدون وجود این ابزارها شما میتوانید این کارها را انجام دهید اما اینکه ابزار یا زبان مناسبی انتخاب کنید در سرعت انجام پروژه شما و دقت انجام آن بسیار تأثیر گذار است.
نرمافزارهای مشابه R
متلب (Matlab):
متلب نرمافزار و زبان برنامهنویسی است که برای تحلیل دادهها استفاده میشود و بسیار معروفتر از R است زیرا بسیار کار با آن ساده بوده و مقالهها و آموزشهای بسیاری از آن موجود است. متلب دارای toolbox بسیار قوی است که اکثر نیازهای تحلیلگر را مورد پوشش قرار میدهد. اما متلب تجاری بوده و قیمت بسیار بالایی دارد.
اوکتیو (Octave):
زبانی است که از لحاظ کاربرد و نحوه کدنویسی کاملاً مشابه متلب بوده و حتی برخی از برنامههای نوشته شده با متلب بدون تغییر در اوکتیو نیز قابل اجرا هستند. این زبان متنباز بوده و رایگان میباشد اما چون مقاله و آموزش در مورد آن کمتر است کار با آن مقداری سختتر از متلب است.
پایتون و کتابخانههای scikits-learn و numpy:
پایتون زبانی همه منظوره بوده و برای انجام محاسبات ماتریسی ساخته نشده اما به دلیل محبوبیت آن این کتابخانهها کار تحلیل را با پایتون ساده میکنند.
ابزار SPSS Modeler:
ابزاری برای تحلیل دادههاست که توسط شرکت IBM ساخته شده و تجاری است. این ابزار زبان برنامهنویسی نیست اما مجموعهای از الگوریتمهای مختلف و پرکاربرد را برای این منظور آماده کردهاند.
ابزار Knime:
این ابزار نیز زبان برنامهنویسی نیست اما مجموعهای پرکاردبرد از الگوریتمهای تحلیل دادهها را فراهم آورده و نکته مهم آن ایناست که متنباز و رایگان است. کار کردن با این ابزار بسیار آسان بوده و نیازی به دانستن جزییات پیادهسازی الگوریتمها ندارد و به صورت تصویری الگوریتمها را انتخاب کرده دادهها را به آن میدهید و نتیجه را تحویل میگیرید.
چرا R ؟
این زبان متنباز و رایگان بوده و بر روی سیستمعاملهای مختلفی چون لینوکس، ویندوز و مک به خوبی قابل اجراست. علاوه بر آن بر روی معماریهای مختلف پردازنده نیز کار میکند. متنباز بودن R این امکان را داده است که مؤسسات تحقیقاتی و دانشگاهها از گوشه و کنار دنیا بر روی آن کار کنند و بر روی آن الگوریتمهای مختلف را پیادهسازی کنند و یا خود زبان R را توسعه دهند. با این اوصاف هم بستههای زیادی برای R ساخته شده و هم آموزش، کتاب و مقالههای رایگان بسیاری بر روی آن وجود دارد. علاوه بر این شرکتهای بزرگی چون مایکروسافت هم روی R سرمایهگذاری کردهاند که خود نشان از اهمیت این زبان است. همچنین R برای کار بر روی دادههای ماتریسی بهینهسازی شده است.
مقایسه R و متلب
اول از همه باید گفت که تمام کارهایی که با متلب میتوان انجام داد با R نیز قابل انجام است.
• در متلب حتی بدون کدنویسی نیز میتوان برخی کارها را انجام داد به دلیل راحتی محیط برنامهنویسی آن. همچنین آموزشهای متلب بیشتر است.
• اگر R را با پیکربندی پیشفرض استفاده کنید مقداری از متلب با پیکربندی پیشفرض کندتر است، اما این مساله با پیکربندی درست قابل حل است.
• متلب برای علوم فیزیکی پشتیبانی بهتری از R ارائه میدهد زیرا R بیشتر بر محاسبات آماری تمرکز کرده است.
• R دارای وب سرویسی به نام rapache است که این اجازه را میدهد که صفحات وبی را توسط R ایجاد کنیم که با کاربر تعامل داشته باشد و محاسبات را آنلاین انجام دهد. این مورد توسط متلب قابل انجام نیست.
• R با زبانهای مختلفی مثل جاوا، پایتون، سی و غیره قابلیت تعامل دارد، البته متلب نیز با جاوا و .NET قابل تعامل است.
• R با سکوی مخصوص دادههای بزرگ هدوپ قابلیت تعامل دارد.
ثبت نظر