টেকটিউনস কমিউনিটি, কেমন আছেন সবাই? আশা করছি সবাই ভাল আছেন। বরাবরের মত চলে এসেছি নতুন কোন টিউন নিয়ে। আজকে আলোচনা করব ডেটা সাইন্সে ব্যবহৃত সেরা কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ নিয়ে। তাহলে চলুন শুরু করা যাক।
বিংশ শতাব্দী থেকে এই সময়ে প্রতিদিন অনেক বেশি ডেটা তৈরি হচ্ছে পুরো বিশ্ব জুড়ে। সেই বিশাল ডেটা গুলো এনালাইসিস করা এবং কোন সুনির্দিষ্ট ইনফরমেশন পাবার সবচেয়ে জনপ্রিয় একটি ক্ষেত্রে ডেটা সাইন্স। এখন সবচেয়ে বড় প্রশ্ন হচ্ছে ডেটা সাইন্সের জন্য কোন প্রোগ্রাম ব্যবহার করব। ডেটা সাইন্স করার জনপ্রিয় দুইটি প্রোগ্রামিং ল্যাঙ্গুয়েজ হচ্ছে Python এবং R। কিন্তু এই দুটি ল্যাঙ্গুয়েজ ছাড়াও আরও কিছু ল্যাঙ্গুয়েজ আছে যেগুলো ক্ষেত্র বিশেষ দারুণ কাজ করে।
চলুন দেখে নেয়া যাক দারুণ কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ যেগুলো ডেটা সাইন্সে দারুণ কাজ করে। যদিও প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলোতে অবশ্যই কিছু সুবিধা অসুবিধা রয়েছে, কিন্তু আপনার চাহিদা অনুযায়ী যাতে যেকোনো একটি ব্যবহার করতে পারেন এজন্য বেশ কিছু ল্যাঙ্গুয়েজ সম্পর্কে নিচে আলোচনা করা হল।
Python বিশ্বের দ্রুত বর্ধিত প্রোগ্রামিং ল্যাংগুয়েজ গুলোর মধ্যে অন্যতম একই সাথে এটি জনপ্রিয়তার দিক থেকে ২য় স্থানে অবস্থান করে। এই ল্যাংগুয়েজটি প্রথম আসে আজ থেকে ৩০ বছর আগে ১৯৯০ সালে। ডিজাইন করেন Guido Van Rossum। বর্তমানে এটি Linux, macOS, Windows Vista ছাড়াও আরও কিছু অপারেটিং সিস্টেমে ব্যবহৃত হচ্ছে।
পরিসংখ্যান বিশ্লেষণ, ডেটা মডেলিং এবং সহজে পাঠ-যোগ্য করে তুলতে সব চেয়ে জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ হচ্ছে Python। ডেটা সাইন্সের ক্ষেত্রে বিশাল বর্ধিত library সাপোর্টের জন্য বেশ পরিচিত এই Python। ডেটা পরিচালনা, বিশ্লেষণ করার জন্য Python এর আছে বিশাল library যাতে রয়েছে বিভিন্ন Functions, এবং Tool। একেকটা লাইব্রেরি একেক কাজে যেমন, Image Managing, Textual Data, Data Mining, Neural Networks, Data Visualization এর ক্ষেত্রে ব্যবহৃত হয়।
যেমন Panda ব্যবহৃত হয় ডেটা এনালাইসিস এর ক্ষেত্রে এবং হ্যান্ডেলিং এর ক্ষেত্রে, NumPy ব্যবহৃত হয় নিউমেরিক্যাল কম্পিউটিং এর ক্ষেত্রে, SciPy ব্যবহৃত হয় সাইন্টিফিক কম্পিউটিং এর ক্ষেত্রে, Matplotlib ব্যবহৃত হয় ডেটা ভিজুয়ালাইজেশনের ক্ষেত্রে।
R প্রোগ্রামিং ল্যাংগুয়েজটি প্রথম দেখা যায় ১৯৯৩ সালে এটি ডিজাইন করেছিলেন Ross Ihaka এবং Robert Gentleman।
ডেটা সাইন্স নিয়ে কথা হলে, R এর কথা উঠবে না এটা হতেই পারে না। প্রকৃতপক্ষে বলা যেতে পারে ডেটা সাইন্সের জন্য অন্যতম সেরা প্রোগ্রামিং ল্যাঙ্গুয়েজ হচ্ছে R। একটি একটিভ কমিউনিটি এবং দুর্দান্ত সব library এর জন্য R বেশ জনপ্রিয়। ডেটা পরিচালনা, বিশ্লেষণ করার জন্য R এর আছে বিশাল লাইব্রেরি যাতে রয়েছে বিভিন্ন Functions, এবং Tool। Image Managing, Textual Data, Data Manipulation, Data Visualization, Web Crawling, Machine Learning, এর ক্ষেত্রে R এর library গুলো ব্যবহৃত হয়।
যেমন, dplyr ডেটা ম্যানিপুলেশনের জন্য বিখ্যাত, ggplot2 ডেটা ভিজুয়ালাইজেশনের জন্য বিখ্যাত।
Donald D. Chamberlin এবং Raymond F. Boyce প্রথম ১৯৭৪ সালে SQL ডিজাইন করেন।
রিলেশনাল ডাটাবেজ ম্যানেজমেন্ট সিস্টেমে সঞ্চিত ডেটা পরিচালনা এবং পুনরুদ্ধারের জন্য ব্যবহৃত হয় SQL অথবা Structured Query Language। প্রাথমিক ডেটা নিয়ে কাজ করা যায় বলে ডেটা সাইন্সের ক্ষেত্রে অন্যতম নাম হচ্ছে SQL। ডেটা সাইন্সের অন্যতম কাজ হচ্ছে ডেটা গুলোকে কার্যকরী করা আর ডাটাবেজ থেকে ডেটা নিয়ে কাজ করতে ব্যবহৃত হয় SQL।
ডেটা সাইন্সে ব্যবহৃত হয় এমন কিছু SQL ডাটাবেজ হচ্ছে, SQLite, MySQL, Postgres, Oracle, এবং Microsoft SQL Server। BigQuery, একটি ডেটা ওয়ার-হাউজ যা পেটাবিটে ডেটা ম্যানেজ এবং এনালাইসিস করতে পারে, যা Super Fats SQL Queries এনেভল করতে সহায়তা করে।
MATLAB প্রোগ্রামিং ল্যাংগুয়েজটি আজ থেকে ৩৬ বছর আগে ১৯৮৭ সালে রিলিজ করা হয়।
ডেটা সাইন্সের ক্ষেত্রে গাণিতিক অপারেশনের জন্য জনপ্রিয় হচ্ছে MATLAB প্রোগ্রামিং ল্যাঙ্গুয়েজ। ডেটা এনালাইসিসে বিশদভাবে ম্যাথের প্রয়োগ থাকায়, ডেটা সাইন্সের এর ক্ষেত্রে বিশেষ ভাবে ব্যবহৃত হয় MATLAB। এটির, Linear Algebra, Statistics, Optimization, Fourier Analysis, Filtering, Differential Equations, Numerical Integration, এর জন্য বিভিন্ন ফাংশন থাকায় ডেটা সাইন্সে তা দারুণ উপকারী।
আর এসব কিছুর জন্য MATLAB এর নিজস্ব বিল্ড-ইন গ্রাফিক্স আছে যা বিভিন্ন প্লেটের সাথে ডেটা ভিজুয়ালাইজেশন তৈরিতে ব্যবহৃত হয়।
Java ডিজাইন করেছিলেন James Gosling, ১৯৯৫ সালে। এটি Oracle Corporation এর একটি অংশ।
প্রাচীনতম এবং ডেটা সাইন্সের জন্য জনপ্রিয় একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ হচ্ছে Java। বেশির ভাগ বিগ ডেটা এবং ডেটা সাইন্স টুল Java দিয়ে তৈরি যেমন, Hive, Spark, এবং Hadoop। যেহেতু Hadoop, Java এর ভার্চুয়াল মেশিনে চলে সুতরাং Hadoop ভাল করে বুঝতে হলে আগে Java শিখতে হবে।
এছাড়াও Java এর বিভিন্ন ডেটা সাইন্স আছে যেমন, Weka, MLlib, Java-ML, Deeplearning4j।
Martin Odersky ২০০৪ সালে Scala প্রোগ্রামিং ল্যাংগুয়েজটি ডেভেলপ করেন।
Java এর একটি এক্সটেনশন হচ্ছে এই Scala, কারণ এটি Java Virtual Machine (JVM) এ তৈরি করা হয়েছিল। সুতরাং এটি সহজেই Java এর সাথে ইন্টিগ্রেট করা যায়। Apache Spark এর সাথে কাজ করে বড় একাউন্টের ডেটা ম্যানেজ করতে ব্যবহৃত হয় Scala। বড় ডেটা নিয়ে কাজ করা মানেই Scala এর ব্যবহার। Hadoop এর তৈরি করা ডেটা সাইন্স ফার্ম-ওয়ার্ক গুলো অধিকাংশই Java এবং Scala দিয়ে তৈরি।
তবে Scala এর একটি অসুবিধা হল এটি শেখা কিছুটা কঠিন এবং অনলাইনে এর অতোটা একটিভ কমিউনিটিও নেই।
২০১২ সালে এই প্রোগ্রামিং ল্যাংগুয়েজটি আসে, ডিজাইন করেন Jeff Bezanson, Alan Edelman, Stefan Karpinski, এবং Viral B. Shah।
যদি ফাস্ট বা দ্রুত কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ এর কথা বলা হয় তাহলে প্রথমেই থাকবে Julia। এটি Python, R, MATLAB, অথবা JavaScript থেকে কয়েকগুণ বেশি দ্রুত ডেটা এনালাইসিস বা ম্যানেজ করতে পারে। Julia একই সাথে নিউমেরিক্যাল এনালাইসিস এর জন্যও দুর্দান্ত একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ। Julia এর রয়েছে গাণিতিক, ডেটা মেনিপুলেশন সহ দারুণ কিছু ডেটা এনালাইটিক টুল।
সব মিলিয়ে Julia এর ১৯০০ এর মত প্যাকেজ রয়েছে। এটি R, Python, Matlab, C, C+ Java, Fortran, এর মত প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলোর সাথেও ডাইরেক্টরি অথবা প্যাকেজের সাথে ইন্টিগ্রেট হয়ে কাজ করতে পারে।
Larry Wall এর ডিজাইনে ১৯৮৭ সালে উন্মুক্ত হয় Perl প্রোগ্রামিং ল্যাংগুয়েজ।
অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলোর তুলনায় Data Query কে দক্ষতার সাথে পরিচালনা করতে পারে Perl। এখানে হালকা Array ব্যবহার করা হয় বলে প্রোগ্রামারদের ডেটা এনালাইসিস এর ক্ষেত্রে বিশেষ ভাবে ফোকাস করা ছাড়াই বেশ দক্ষ ভাবে ডেটা এনালাইসিস হয়ে যায়। Python এর সাথে দারুণ মিল থাকায় ডেটা সাইন্সেও এর ব্যবহার অনেক।
Boeing, Siemens, এর মত বড় কোম্পানি গুলো ডেটা সাইন্সের জন্য Perl 6 কে পরীক্ষা নিরীক্ষা করে ''Big-Data Lite'' হিসাবে অভিহিত করেছে। Finance, Bioinformatics, Statistical Analysis ইত্যাদি ক্ষেত্রেও Perl বেশ দরকারি।
যারা ডেটা সাইন্স নিয়ে গবেষণা করছে বা শিখছেন তাদের জন্য এই টিউনটি দারুণ উপকারী হতে পারে। উপরের সব গুলো প্রোগ্রামিং ল্যাঙ্গুয়েজ ভাল ভাবে দেখে নিন এবং আজ থেকে শিখতে থাকুন আপনার প্রয়োজনীয় ল্যাঙ্গুয়েজটি।
এখানে প্রতিটি প্রোগ্রামিং ল্যাঙ্গুয়েজ একেক কাজের জন্য চমৎকার। কোনটিকে নির্দিষ্ট করে ভাল বলার সুযোগ নেই। যেমন আমি বলেছি, Python ডেটা এনালাইসিস এর জন্য, SQL ডেটা ম্যানেজমেন্টের জন্য বিখ্যাত।
সুতরাং আপনিই নির্বাচন করুন আপনি কোন ফিল্ডে ডেটা সাইন্টিস্ট হবেন এবং প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করবেন।
কেমন হল আজকের টিউন জানাতে অবশ্যই টিউমেন্ট করুন। পরবর্তী টিউন পর্যন্ত ভাল থাকুন। আল্লাহ হা-ফেজ।
আমি সোহানুর রহমান। সুপ্রিম টিউনার, টেকটিউনস, ঢাকা। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর 1 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 627 টি টিউন ও 200 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 118 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
কখনো কখনো প্রজাপতির ডানা ঝাপটানোর মত ঘটনা পুরো পৃথিবী বদলে দিতে পারে।