পাইথন এবং R : কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ ডাটা সাইন্স এর জন্য ভালো ?

এই প্রশ্নটা ডাটা সায়েন্স এর জগতে সব চেয়ে আলোচিত প্রশ্ন বলতে পারি আমরা! তো আজকের আমাদের আলোচনায় সম্পূর্ণ আর্টিকেল জুড়েই থাকবে, আসলে পাইথন কেনইবা দরকার কিংবা R ই কেন দরকার অথবা কোনটা বেশি ভালো। এই প্রশ্ন আমাদের মনে হয়তোবা জেগেছে কিনতু প্রশ্নটা অনেক ডাটা সায়েন্সটিস্টদেরও , বিশেষ করে যারা নতুন ডাটা সায়েন্স ফিল্ডে !

ডাটা সায়েন্সে যারা সাহস করে প্রথম পদক্ষেপ নিয়েছেন , মানে নতুন শুরু করেছেন তাদের জন্য প্রথমেই যেকোনো একটা ল্যাঙ্গুয়েজে মাস্টার হতে হবে। তারপর আপনি যেকোনো ল্যাঙ্গুয়েজের দিকে যেতে পারেন। একটা উদহারণ দেওয়া যেতে পারে , যে আপনি নাবিক হওয়ার জন্য মেরিন একাডেমী থেকে ট্রেনিং নিয়েছেন , এরপর যেকোনো জাহাজ আপনি চয়েস করতে পারেন একজন নাবিক হিসাবে। কারণ, আপনার প্রসেস এবং টেকনিক কেমন সেটাই আসলে ম্যাটার করে থাকে , যেকোনো একটা ল্যাঙ্গুয়েজে আপনি মাস্টার হলে অন্য যেকোনো ল্যাঙ্গুয়েজে খুব সহজেই শিফট হতে পারবেন। কিনতু আপনার ফার্স্ট প্রোগ্রামিং ল্যাঙ্গুয়েজটাই আপনাকে অনেক ভালো করে শিখতে হবে।

ডাটা সাইন্স এ পাইথন এবং R দুইটাই এখন সামনে থেকে লিড করছে। যদি প্রশ্ন উঠে কোনটা বেটার তাহলে আমি বলবো “ইহা নির্ভর করে আপনার পারপাস এর উপর ” . তাহলে কোনটি আমরা পিক করবো ?

কয়েক বছর ধরেই R অবশ্যই ডাটা সাইন্স এর জন্য প্রথম চয়েস। যদিও এটা তৈরী করা হয়েছিল স্টাটিস্টিশিয়ানদের জন্য মূলত , হাজারের উপর পাবলিক প্যাকেজ আছে এবং C , C++,Java ইত্যাদি ল্যাঙ্গুয়েজ এর সাথে ইন্টেগ্রেট হয়ে খুব ভালো ভাবে কাজ করতে পারে। R এর ব্যাপকতা বোঝা যাই , এর ব্যবহারের ব্যাপকতা দেখে। গুগল , ফেসবুকের মত কোম্পানি এবং ওয়াল স্ট্রিট থেকে সিলিকন ভ্যালি সব জায়গায় R , Matlab এবং SAS এর ভালো বিকল্প হিসাবে ইউজ হয়।
অপর দিকে, পাইথন আর আছে ডিফারেন্ট ইউজ কেস , অনেক মানুষ তাদের কাজের সুবিধার্তে পাইথনকে বেছে নিয়েছে। যার ফলে মার্কেট ট্রেন্ডে পাইথন এখন টপ লেভেলে অবস্থান করছে। পাইথন যেমন টেক পিপলদের বেস্ট চয়েস তেমনি ডাটা সাইন্স এ ও ব্যাপক ইউজ চলছে। পাইথন মূলত ফিনান্সিয়াল সেক্টরকে নিজের দখলে নিয়ে নিচ্ছে টোটালি। তেমনি R কে চ্যালেঞ্জ ছুড়ে দিচ্ছে এই বলে আমি আসতেছি বস !
স্টাটিস্টিক্যালি যদি আমরা দেখি, যদি একজন ব্যাক্তি গণিতবিদ হয় অথবা স্ট্যাটিসটিক্স নিয়ে কাজ করে থাকে এবং কম্পিউটার সাইন্স এ ব্যাপক নলেজ না থাকে তাকে R আর দিকে যাওয়ায় বেটার অপশন।
যদি আমি কিংবা আমাদের মতো যারা কম্পিউটার অথবা সফটওয়্যার ফিল্ডে কাজ করি তাহলে আমি পাইথনকে প্রেফার করবো। কারণ, পাইথন হলো একটা জেনারেল পারপাস ল্যাঙ্গুয়েজ R কিনতু বিশেষায়িত ল্যাঙ্গুয়েজ। কাজেই, আমি যদি একবার পাইথন শিখি তাহলে hadoop, স্পার্ক বিগ ডাটার জন্য ,scikit-image ইমেজ প্রসেসিংয়ের জন্য, tkinter ডেস্কটপ এপ্লিকেশন এর জন্য, মঙ্গোডিবি তে সার্ভার সাইট স্ক্রিপ্টিং এবং লিস্ট এভাবে বেড়েই চলবে….
কেন আপনি পাইথন কে বেছে নিবেন? দেখে নিবো ৫টি শক্তিশালী কারণ :

১) Easy to Use : পাইথন নিজে নিজে একটা সুনাম অলরেডি অর্জন করেছে তাহলো এটা শিখা খুবই সোজা। সিনটেক্স গুলো সহজেই পড়া যাই। আপনি যদি ডাটা সায়েন্সে প্রেডিক্টিভ এনালাইসিস এর জন্য ইউজ করতে চান অনেক প্রেডিক্টিভ এনালাইসিস এর জন্য অনেক ডাটা মাইনিং টুলস আছে। আপনি একজন সফটওয়্যার ইঞ্জিনিয়ার কিংবা ডাটা সাইন্সটিস্ট অথবা ডাটা এনালিস্ট , কিংবা নতুন শুরু করছেন আপনার জন্যই পাইথন। কারণ এটা পিক করা সহজ।

২) Python is Versatile: আমরা জানি পাইথন একটা জেনারেল পারপাস ল্যাঙ্গুয়েজ। এটা দিয়ে যেমন ওয়েব,ডেস্কটপ এপস তৈরী করা যাই। তেমনি ডাটা মাইনিং কিংবা যেকোনো প্রব্লেম তার সল্ভ করা যাই। ডাটার প্রব্লেম সল্ভের জন্য End-to-End প্রব্লেম সল্ভ করে।

৩) Python is better for building analytics tools: R এবং পাইথন দুইটাই ভালো যদি আপনি একটা ডাটাসেটে outliers খুঁজে পেতে চান। কিনতু যখন ওয়েব সার্ভিস outliers খুঁজে পেতে চান তবে পাইথন এগিয়ে। সেলফ সার্ভিস এনালাইসিস এর জন্য পাইথনের কোনো জুড়ি হয় না।

৪) Data Visualization : এবার আমাকে হার মানতে হবে মানে পাইথন কে ! কারণ, R visualization আর ক্ষেত্রে পাইথন থেকে এগিয়ে। R আর কিছু ইম্প্রেসিভ টুলস আছে যেমন – Ggplot2, rCharts, and googleVis . আর পাইথন ন্যাচারেলি visualize করতে পারে না কিনতু কিছু লাইব্রেরী আছে যার কোনো তুলনায় হয় না -Matplotlib, Plot.ly, or Seaborn .

৫) Growing পাইথন কমিউনিটি।

Python is better for deep learning: অনেক অনেক প্যাকেজ আছে পাইথন এ ডিপ নিউরাল নেটওয়ার্ক create করার জন্য, যেমন- Theano, Keras, and tensorFlow .. কিছু কিছু প্যাকেজ R এ ও কাজ করে।

কাজেই আপনি কি ডাটা সাইন্স এর জন্য পাইথন ইউজ করবেন? পাইথন অনেক পাওয়ারফুল একটা ল্যাঙ্গুয়েজ এবং অনেক সময় বাঁচায় কাজের ক্ষেত্রে। আর R হলো স্পেশাল ডিজাইন করা ল্যাঙ্গুয়েজ, যা স্পেশাল ফর ডাটা এনালাইসিস। কিনতু আপনার কাজের সুবিধার্তে R ও ব্যবহার করতে পারেন পাইথন এর পাশাপাশি।

পাইথন নিয়ে আমার পার্সোনাল মতামত, আমি পাইথন কে বেছে নিবো। কারণ, স্ক্যালাবিলিটি। যখন আপনি ডাটা সাইন্স কে ক্যারিয়ার হিসাবে বেঁচে নিবেন দিন শেষে আপনাকে বিগ ডাটা নিয়ে কাজ করতে হবেই। বিগ ডাটার প্রসেসিংয়ের জন্য জনপ্রিয় ফ্রেমওয়ার্ক অ্যাপাচি স্পার্ক একটা ওপেন সোর্স যা কিনা পাইথন কে সাপোর্ট করে( R ও সাপোর্ট করে কিন্তূ পাইথন এর মতো ব্যাপক না ) . আর পাইথন এ আছে অনেক ম্যাচুউর ডাটা প্রসেসিং টুলস যেমন sklearn . …. I’d definitely choose Python.

 

 

By

Raju Ahmed Rony

Data Science Enthusiast
Dept. of Software Engineering

Daffodil International University

Youth Carnival: