২০২৩ সালের সেরা ১০টি আর (R) প্রজেক্টের ধারণা
একজন ডেটা সাইন্টিস্ট হিসেবে চাকরি ক্ষেত্রে সফলতা অর্জনের জন্য আপনার অবশ্যই একটি পোর্টফোলিও থাকা লাগবে। যা আপনার সকল প্রাসঙ্গিক দক্ষতাগুলো তুলে ধরতে সহায়তা করবে। আপনি যদি R প্রোগ্রামিংয়ে দক্ষ হন, তাহলে আপনার অবশ্যই পোর্টফোলিওর সাহায্যে R প্রজেক্টের দক্ষতা প্রদর্শন করতে হবে।
আপনি আপনার ডেটা সাইন্টিস্ট হওয়ার যাত্রায়, যেই পর্যায়-ই থাকুন না কেন, আপনি যেকোনো পর্যায় থেকেই আপনার পোর্টফোলিও তৈরির জন্য কাজ শুরু করতে পারেন।
আপনার প্রথম প্রোজেক্ট একেবারে নিখুঁত না-ই হতে পারে, আপনি সবসময়ই আপনার পুরোনো কাজগুলোতে ফিরে আসতে পারবেন এবং সেগুলিকে ঠিক করতে পারবেন, এমনকি আপনি যখন আরও উন্নত প্রকল্প তৈরি করবেন তখন পুরোনো ফাইলগুলো ডিলিট করে ফেলতে পারবেন৷ এখানে সবচেয়ে গুরুত্বপূর্ণ বিষয় হল প্রজেক্ট হিসেবে কাজ শুরু করা। আপনার এই কাজটিকে আরেকটু সহজ করে দিতে, এই নিবন্ধনটিতে আরও ১০ টি প্রজেক্ট নিয়ে আলোচনা করা হয়েছে।
আর (R) ল্যাংগুয়েজ কেনো ব্যবহার করবেন?
R হল একটি প্রোগ্রামিং ভাষা এবং সফটওয়্যার যা বর্তমানে ডেটা বিশ্লেষণ, ডেটা সায়েন্স এবং মেশিন লার্নিং সমস্যা সমাধানের জন্য ব্যাপকভাবে ব্যবহৃত হয়। পাইথনের পাশাপাশি আর ল্যাংগুয়েজ বর্তমানে সবচেয়ে জনপ্রিয় কোডিং ল্যাংগুয়েজগুলোর মধ্যে একটি। কিন্তু, আর ল্যাংগুয়েজটি মূলত অ্যাডভান্সড এবং দ্রুত পরিসংখ্যানগত কম্পিউটিং, ডেটা মডেলিং এবং ডেটা ভিজ্যুয়ালাইজেশনের জন্য ব্যবহার করা হয়ে থাকে।
এছাড়াও -
আর (R) ল্যাংগুয়েজটি ফ্রি এবং ওপেন সোর্স
প্রচুর পরিমাণে ভাল-ডকুমেন্টেড ডেটা সায়েন্স প্যাকেজ দিয়ে সজ্জিত (জুলাই ২০২২ পর্যন্ত ১৮০০০-এর বেশি) এবং অনেক ধরনের অপারেটিং সিস্টেম ব্যবহার করে কাজ করা যায়। এখানে একটি সক্রিয় এবং বড় কমিউনিটি রয়েছে। আমরা এখন (R) ভাষার উপর ভিত্তি করে কিছু প্রোজেক্ট নিয়ে আলোচনা করবো, যা এ ভাষায় অভিজ্ঞ এবং নতুন উভয়দেরই সাহায্য করতে পারবে।
উদাহরণসমূহঃ
আপনি যদি এ ভাষায় একবারে নতুন হয়ে থাকেন, ভয়ের কোনো কারণ নেই। এরকম পর্যায়ে আপনি “স্যান্ডবক্স” প্রজেক্টগুলো বেছে নিতে পারেন। যেখানে, আপনাকে কিছু নির্দিষ্ট ডেটা দেয়া হবে এবং সে ডেটা বিষয়ক কিছু প্রশ্ন করা হবে। এরপর ধাপে ধাপে আপনাকে সে ডেটাগুলোকে R প্রোগ্রামের ভাষার সাহায্যে কীভাবে বিশ্লেষণ করতে হবে তা বলে দেয়া হবে।
আবার, আপনি যদি একেবারে নতুন না হয়ে থাকেন, তাহলে আপনার “স্যান্ডবক্স” এ প্রদত্ত ডেটাগুলোকে নিয়ে বিভিন্ন দৃষ্টিকোণ থেকে চিন্তা করতে হবে এবং প্রস্তাবিত নির্দেশাবলির বাইরেও ডেটাগুলো থেকে আর কি কি ধরনের ধারণা পাওয়া যেতে পারে তা নিয়ে কাজ করতে হবে।
নতুনদের জন্য R প্রজেক্ট
বিদ্যমান কিছু প্রজেক্ট আইডিয়া নিয়ে কাজ করার পর, এক সময় আপনি নিজে থেকেই নিজের পছন্দের কিছু প্রজেক্ট নিয়ে কাজ করতে পারবেন। কিন্তু, আপনার এ ধরনের কাজ করার জন্য, অবশ্যই জানতে হবে, আপনি কোথা থেকে আপনার প্রোজেক্টের ডেটাগুলো সংগ্রহ করতে পারেন। সৌভাগ্যবশত, বর্তমানে, প্রচুর জনপ্রিয় অনলাইন সাইট বা প্ল্যাটফর্ম রয়েছে যা বিনামূল্যে এবং ভাল-ডকুমেন্টেড ডেটাসেটের বিশাল সংগ্রহ প্রদান করে থাকে। এই ধরনের প্ল্যাটফর্মগুলোর মধ্যে কিছু উল্লেখযোগ্য উদাহরণ হল Data Camp Workspace, Kaggle, UCI Machine Learning Repository, Google Dataset Search, Google Cloud Platform, FiveThirtyEight এবং Quand.
আপনার এখন যেহেতু কোথা থেকে আপনার ডেটাগুলো সংগ্রহ করতে পারবেন সে সম্পর্কে ধারণা হয়ে গিয়েছে, চলুন আমরা দেখে নেই, আর (R) প্রোগ্রাম এবং এই ডেটাসেটগুলোর সাহায্যে কি কি ধরনের কাজ করা সম্ভব।
Spotify-এর ডেটা বিশ্লেষণ
Spotify বর্তমানে সবচেয়ে বড় মিউজিক সার্ভিস প্রদানদাতাদের মধ্যে একটি। যেখানে আপনি সারা বিশ্ব থেকে লক্ষ লক্ষ গান, ভিডিও এবং পডকাস্টগুলি খুঁজে পেতে পারেন৷
আপনি বিভিন্ন প্ল্যাটফর্ম থেকে Spotify বিষয়ক ডেটাসেট পেতে পারেন। উদাহরণস্বরূপ - একটি ডেটাসেট এ যদি Spotify- এর সেরা ৬০০ টি গান এবং তাদের অন্যান্য তথ্য দেয়া থাকে, তাহলে তা থেকে আপনি নিম্নের তথ্যগুলো যাচাই করতে পারবেন -
- উচ্চারিত শব্দের পরিমাণ
- লাউডনেস
- গানের সময়কাল
- কোন শিল্পীরা সবচেয়ে জনপ্রিয়
- কোন ধারা সবচেয়ে জনপ্রিয়
- সময়ের সাথে সাথে মানুষের মধ্যে গানের স্বাদের পরিবর্তন
- কোন বিষয়গুলো সবচেয়ে জনপ্রিয় গানগুলোর মধ্যে মিল রয়েছে
NBA-এর ডেটা বিশ্লেষণ
ন্যাশনাল বাস্কেটবল অ্যাসোসিয়েশন (এনবিএ) হল উত্তর আমেরিকার বাস্কেটবল লীগ যা 30 টি দল নিয়ে গঠিত। NBA শুটিং ডেটা ডেটাসেট 2021-এ NBA প্লে-অফের জন্য চারটি ভিন্ন খেলোয়াড়ের ডেটা রয়েছে৷ আপনি এই ডেটাসেট বিভিন্নভাবে বিশ্লেষণের সাহায্যে নিম্নলিখিত প্রশ্নের উত্তর দেওয়ার চেষ্টা করতে পারেন:
- প্রতিটি খেলোয়াড়ের জন্য সেরা শুটিং পজিশন কি?
- কোন রেঞ্জে প্রতিটি খেলোয়াড়ের শট স্কোর করার সম্ভাবনা সবচেয়ে বেশি?
- এই খেলোয়াড়দের মধ্যে কে সেরা ডিফেন্ডার?
- এই খেলোয়াড়দের মধ্যে কাকে আপনি সেরা ডিফেন্ডার বলত পারেন?
- একজন শ্যুটার এবং তাকে রক্ষাকারী খেলোয়াড়ের দক্ষতা কি সম্পর্কযুক্ত?
বিশ্ব জনসংখ্যা তথ্য বিশ্লেষণ
ওয়ার্ল্ড পপুলেশন ডেটা ডেটাসেট ১৯৬০ থেকে ২০২০ পর্যন্ত প্রতিটি দেশের জন্য মোট জনসংখ্যার পরিসংখ্যান প্রদান করে, এছাড়া দেশ অনুসারে কিছু অতিরিক্ত তথ্য, যেমন এর অঞ্চল, আয় গোষ্ঠী এবং বিশেষ নোট (যদি থাকে) প্রদান করা হয়ে থাকে। আপনি এই ডেটাগুলো ব্যবহার করে বিভিন্ন ধরনের প্রশ্নের উত্তর পেতে পারেন, যেমন -
- কোন হারে আপনার দেশের (বা অন্য কোন দেশের) জনসংখ্যা সময়ের সাথে পরিবর্তিত হয়েছে?
- সময়ের সাথে সাথে বিশ্বের বিভিন্ন অঞ্চলের জনসংখ্যা কি হারে পরিবর্তিত হয়েছে?
- কোন দেশ সময়ের সাথে জনসংখ্যার সর্বোচ্চ বৃদ্ধি/হ্রাস অনুভব করেছে?
- কোন দেশ বা দেশগুলি গত পাঁচ (বা দশ) বছরে জনসংখ্যার সর্বোচ্চ বৃদ্ধি/হ্রাসের সম্মুখীন হয়েছে?
- আপনার জন্ম বছরে আপনার দেশে (বা অন্য কোন দেশে) কতজন মানুষ জন্মগ্রহণ করেছে?
- আয় গোষ্ঠী কীভাবে একটি দেশের জনসংখ্যা বৃদ্ধিকে প্রভাবিত করে?
- অঞ্চলভিত্তিক জনসংখ্যা বৃদ্ধির প্রবণতা কেমন?
অ্যাডভান্সড R প্রজেক্ট
আপনি যদি R দিয়ে ডেটা সায়েন্স শেখার মাঝপথে থাকেন, তাহলে আপনি আরও কিছু অ্যাডভান্সড R প্রজেক্ট তৈরি করতে আগ্রহী হতে পারেন যেখানে আপনি আপনার ডেটা বিশ্লেষণ দক্ষতা এবং কিছু মেশিন লার্নিং অ্যালগরিদম উভয়ই প্রয়োগ করা শিখতে পারবেন। আসুন আমরা কিছু অ্যাডভান্সড R প্রজেক্ট নিয়ে আলোচনা করি -
টেলিকম গ্রাহকদের মন্থনের অনুমান
মন্থন বলতে এখানে টেলিকম গ্রাহকদের সাবস্ক্রিপশন বাতিল করার প্রবণতাকে বোঝানো হয়েছে। এটি একটি নির্দিষ্ট সময়ের মধ্যে, মন্থন করা গ্রাহকদের শতকরা পরিমাণ গণনা করা হয়।
এই সূচকটি কোম্পানির সামগ্রিক ব্যবসার অবস্থাসহ বিভিন্ন কারণের উপর নির্ভর করে। গ্রাহক মন্থন হার বেশি হলে যেকোনো কোম্পানির জন্য একটি গুরুতর সমস্যা উপস্থাপন করে কারণ এটি কোম্পানিকে ক্ষতির দিকে নিয়ে যায় এবং কোম্পানির সুনামকে ক্ষতিগ্রস্ত করে। অতএব, এটি প্রতিরোধ করার জন্য গ্রাহক মন্থন হার অনুমান করতে সক্ষম হওয়া খুবই গুরুত্বপূর্ণ।
আপনি একটি টেলিকম কোম্পানিতে গ্রাহক মন্থন হারের পূর্বাভাস দেওয়ার জন্য টেলিকম গ্রাহক চার্ন ডেটাসেট ব্যবহার করতে পারেন। এরপর এই ডেটাগুলোর সাহায্যে বের করতে হবে, কোন বিষয়গুলো একটি টেলিকম কোম্পানির মন্থন হারকে প্রভাবিত করে থাকে।
এটি মেশিন লার্নিং এর একটি সাধারণ শ্রেণিবিভাগ সমস্যা যেখানে ক্লায়েন্টদের 1 (মন্থন) বা 0 (নন-মন্থন) হিসাবে লেবেল করা হয়।
ক্রেডিট কার্ড জালিয়াতি শনাক্তকরণ
ব্যাংকিং ক্ষেত্রে ক্রেডিট কার্ড জালিয়াতি খুবই জটিল একটি সমস্যা। কারণ, এর সাথে প্রচুর পরিমাণের অনলাইন লেনদেন জড়িত থাকে। ক্রেডিট কার্ড জালিয়াতি শনাক্তকরণ করার জন্য আমরা k-nearest neighbors (KNN), লজিস্টিক রিগ্রেশন (Logistic Regression), Support Vector machines (SVM), or Decision Tree. এর মতো পদ্ধতিগুলি প্রয়োগ করতে পারি।
এই সমস্যাটি সমাধান সাধারণভাবে ব্যাংকিং ব্যবসার জন্য কঠিন, কারণ জালিয়াতির ধরণ এবং প্রতারকদের কৌশলগুলো দিনে দিনে পাল্টাচ্ছে এবং তার বিস্তার ঘটছে, তাই জালিয়াতি শনাক্তকরণ সিস্টেমগুলিকে এই পরিবর্তনগুলির সাথে দ্রুত মানিয়ে নিতে হবে।
একজন ডেটা সায়েন্টিস্ট বা মেশিন লার্নিং সায়েন্টিস্টের জন্য, এ ধরনের সমস্যা সমাধানের ক্ষেত্রে প্রথম চ্যালেঞ্জটি হলো এই ধরনের ডেটাসেটের প্রকৃতি। এ ধরনের ডেটাসেটের সাহায্যে সাধারণত মানুষদের শ্রেণি ভারসাম্যহীনতা বোঝা যায়। আর যেহেতু, জালিয়াতি প্রতিনিয়ত হয়ে থাকে না, তাই হঠাৎ কারো শ্রেণি এর তুলনায় বেশি পরিমাণে লেনদেন হলে, তা থেকে জালিয়াতি শনাক্ত করা করা যায়। কিন্তু, আবার অনেক সময়, সাধারণ লেনদেনকেও প্রতারণামূলক লেনদেন হিসেবে অনুমান করা হতে পারে।
বাইক শেয়ারিং চাহিদার অনুমান
যদিও পূর্ববর্তী দুটি প্রজেক্টে ডেটাগুলোকে শ্রেণিবদ্ধ করার সাথে সম্পর্কিত ছিল, এখানে আপনাকে ইনপুট বৈশিষ্ট্যের উপর ভিত্তি করে অবিচ্ছিন্ন ফলাফলের অনুমান করতে হবে। অন্য কথায়, আপনাকে লিনিয়ার রিগ্রেশন, রিজ রিগ্রেশন, ল্যাসো রিগ্রেশন, ডিসিশন ট্রি বা সাপোর্ট ভেক্টর মেশিন্স (SVM) এর মতো পদ্ধতি প্রয়োগ করে রিগ্রেশন সমস্যা সমাধান করতে হবে।
বাইক শেয়ারিং বিষয়ক ডেটাসেটে বিভিন্ন রকম তথ্য থাকতে পারে, যেমন - একটি বাইকশেয়ারিং কোম্পানির থেকে জনগণের বাইক সার্ভিস নেয়ার সময়ের আবহাওয়া, তারিখ, সময়, সরকারী ছুটি ছিল কি না। অর্থাৎ, যে সকল বিষয়গুলো একজন ব্যক্তির বাইক শেয়ার নেয়ার ইচ্ছাকে প্রভাবিত করতে পারে, সেসকল বিষয় বিবেচনা করে, ভবিষ্যতে ভাড়া করা বাইকের সংখ্যা অনুমান করা।
এছাড়াও, আপনি দিনের সময়ের উপর (সকাল, বিকাল, সন্ধ্যা, রাত) ভিত্তি করেও, ভাড়া করা বাইকের গড় সংখ্যার পরিমাণ বের করে তাদের মধ্যে সম্পর্ক বিবেচনা করতে পারবেন।
এসএমএস স্প্যাম শনাক্তকরণ
পরিশেষে, আপনার একটি প্রজেক্টে R-এ আপনার Natural Learning Process (NLP) - এর দক্ষতাগুলিকে বিবেচনা করতে পারেন। একটি এসএমএস স্প্যাম কালেকশন ডেটাসেটে স্প্যাম বা নন-স্প্যাম ("হ্যাম") হিসাবে লেবেল করা ৫৫০০ টিরও বেশি ইংরেজি এসএমএস-এর সংগ্রহ রয়েছে।
এই ডেটার উপর ভিত্তি করে, একটি ফিল্টার তৈরি করুন যা স্প্যাম এবং সাধারণ এসএমএস-এর মধ্যে কিছু পার্থক্য নির্ভুলভাবে শনাক্ত করতে পারবে। এর জন্য আপনাকে (R) ভাষায় NLP- প্যাকেজ ব্যবহার করতে হবে, যা আপনাকে সবগুলো স্প্যাম ম্যাসেজগুলোর মধ্যে একটি প্যাটার্ন বের করে সেগুলোকে শনাক্ত করতে সাহায্য করবে।