Data Science, Machine Learning, Deep Learning and Big Data
Data Science Project Lifecycle
Data Science Project Lifecycle নিয়ে আলোচনা শুরু করার পূর্বে প্রথমে জেনে নেওয়া ভালো, সময়ের সাথে পরিবর্তন অনিবার্য। ডেটা সায়েন্সের ক্ষেত্রেও ব্যাপারটা একই । ৯০ এর দশকে ডেটা সায়েন্স শব্দটি তৈরি হওয়ার পর থেকে আজ পর্যন্ত অনেক বিকশিত হয়েছে তাও মারাত্মকভাবে। ডেটা সায়েন্সের মূল উপাদান হচ্ছে ডেটা । যদি ডেটা না থাকে তবে এতে কোনও সায়েন্স প্রয়োগ করা যেত না এবং অনেক কিছুই করা যেত না। সুতরাং, একটি ডেটা সাইন্স প্রজেক্ট শুরু করার পূর্বে নিম্নোক্ত প্রশ্ন গুলো সবার সামনে রাখা উচিত।
- কেন আমাদের ডেটা দরকার?
- কি ধরনের ডেটা প্রয়োজন?
- কিভাবে আমরা ডেটা পেতে পারি?
- ডেটা দিয়ে কি করবেন?
এইরকম আরো অনেক প্রশ্ন আসতে পারে। তাই একজন ডেটা সায়েন্টিস্টের কাজ হচ্ছে এই ধরণের যত প্রশ্ন আছে , তার সবগুলো সামনে রেখে সঠিক ডেটা বের করে আনা এবং সঠিক কাজে ব্যবহার করা।
Data Science Project Lifecycle কি?
Data Science Project Lifecycle বলতে বুঝানো হয় যে কোনও data science product তৈরি, ডেলিভারি এবং রক্ষণাবেক্ষণের জন্য গৃহীত পুনরাবৃত্তিমূলক পদক্ষেপগুলি। সব ডেটা সায়েন্সের প্রজেক্ট গুলো একইভাবে তৈরি বা একই রকম হয় না, তাই তাদের lifecycle ও একেকটি একেকরকম হতে পারে। তবে , আমরা একটি general lifecycle এর একটি পিকচার তৈরি করতে পারি যাতে কিছু সাধারণ ডেটা সায়েন্সের স্টেপস গুলো অন্তর্ভুক্ত থাকে। একটি সাধারণ Data Science Project Lifecycle প্রসেসের মধ্যে রয়েছে machine learning algorithms এবং statistical প্রাকটিস গুলোর ব্যবহার যার ফলস্বরূপ একটি Data Science Project ভবিষ্যতে কেমন হবে তার একটি ভাল মডেল তৈরি করা যায়। পুরো প্রক্রিয়ার সাথে জড়িত সবচেয়ে সাধারণ ডেটা সাইন্সের কয়েকটি ধাপ হল Planning, data extraction, preparation, Model Development, Testing, Model Deployment এবং evaluation ইত্যাদি।
একটি data science project lifecycle এ নিম্নলিখিত ছয়টি হাই লেভেল স্টেজ রিপ্রেজেন্ট করে:
Data Science Project Lifecycle – Planning
Planning পর্যায়ে কত গুলো ধাপ আছে। ধাপগুলো নিম্নরুপঃ
- সমস্যাগুলো চিহ্নিতকরণ করা
- রেকোয়াইরমেন্টগুলো সনাক্ত করা
- এনালাইসিস এবং ডিজাইন প্রস্তুত করা
- প্রজেক্ট প্ল্যানিং (পরিকল্পনা) করা
তাহলে চলুন Planning পর্যায়ে প্রতিটি ধাপ নিয়ে আলোচনা করা যাক :
সমস্যাগুলো চিহ্নিতকরণ করা
প্রথম এবং সর্বাগ্রে, একজন Business Analyst এবং Data Analyst এর সমন্বয়ে বসে সমস্যাগুলো চিহ্নিত করবেন এবং একটি Problem Statement (PS) তৈরি করবেন। তবে এদের সাথে একজন product manager সেই সাথে business executive , sales, marketing এবং CSR executive রা থাকতে পারে।
রেকোয়াইরমেন্টগুলো সনাক্ত করা
এই পর্যায়ে, Product Manager, Business Analist এবং Data Scientist রা Machine Learning (ML) আর্কিটেক্টদের সাথে কাজ করে সমস্যাটির ব্যাপ্তি বের করবেন এবং মেশিন লার্নিং (ML) সত্যিই সমস্যার সমাধান করতে পারবে কিনা তা বিশ্লেষণ করবেন। অন্য কথায়, সমস্যাটি সত্যিকার অর্থে একটি বৈধ মেশিন লার্নিং সমস্যা কিনা তা নির্ধারণ করবেন। এবং একটি Product requirement specification (PRS) তৈরি করবেন।
এনালাইসিস এবং ডিজাইন প্রস্তুত করা
এই পর্যায়ে, Product Manager, Project Manager এবং ML Architect আরও গভীরে ড্রিল করবেন এবং নিম্নোক্ত কিছু বিষয়ে সিদ্ধান্ত নেবেন যেমন ব্যবসায়িক মূল্য প্রস্তাব, ডেলিভারি অগ্রাধিকার, আর্কিটেকচার এবং ডিজাইন ইত্যাদি। এবং একটি Technical Design Specification (TDS) তৈরি করবেন। যেখানে ন্যূনতম নিম্নোক্ত বিষয়গুলো থাকতে হবে:
- প্রাথমিক ফীচার লিস্ট।
- কি ধরণের এবং কি মেশিন লার্নিং অ্যালগরিদম ব্যবহার করতে হবে?
- ডেভেলপমেন্ট এবং টেস্টিং মেথড গুলো কি হবে?
- আর্কিটেকচার সম্পর্কিত বিস্তারিত বিবরণ
প্রজেক্ট প্ল্যানিং (পরিকল্পনা) করা
এই পর্যায়ে, প্রোডাক্ট ম্যানেজার, প্রোজেক্ট ম্যানেজার, ডেটা সায়েন্টিস্ট এবং এমএল আর্কিটেক্ট আলোচনা করে একটি প্রজেক্ট প্ল্যান তৈরি করবেন , যেখানে প্রজেক্টের টাইমলাইন , প্রজেক্টের এর জন্য প্রয়োজনীয় রিসৌর্স , এবং প্রজেক্টের রিলিজ প্ল্যানিং ইত্যাদি স্ববিস্তারে থাকবে ।
Data Science Project Lifecycle – Model Development এবং Testing/Evaluation
Model Development এবং Testing/Evaluation পর্যায়ে কত গুলো ধাপ আছে। ধাপগুলো নিম্নরুপঃ
- ফিচার গুলো আইডেন্টিফিকেশন/ইঞ্জিনিয়ারিং করা।
- ডেটা পরিচালনা/প্রসেস করা।
- এমএল মডেল গুলোর উপর প্রশিক্ষণ প্রদান।
- ML মডেল গুলো মূল্যায়ন করা।
ফিচার গুলো আইডেন্টিফিকেশন/ইঞ্জিনিয়ারিং করা
শুরুতে, এমএল আর্কিটেক্ট , মেশিন লার্নিং ইঞ্জিনিয়ার , ডেটা সায়েন্টিস্ট রা প্রোডাক্ট ম্যানেজারের সাথে কাজ করে প্রাথমিক ফিচারের লিস্ট তৈরি করবেন। এই ফীচার গুলি এবং সাথে যদি আরো ফীচার যুক্ত করতে হয় , সেগুলো সহ feature engineering এর পার্ট হিসাবে সবচেয়ে উপযুক্ত ফীচার লিস্ট গুলিকে শর্টলিস্ট এবং প্রসেস করবে ।
ডেটা পরিচালনা/প্রসেস করা
feature গুলো Identification এর পরে, ডেটা প্রসেসিং এর অংশ হিসাবে নিম্নলিখিত কাজ গুলি করতে হয় :
- ডেটা সংগ্রহ: বিভিন্ন ডেটা উৎস থেকে ডেটা সংগ্রহ করা।
- ডেটা প্রস্তুতি: বৈশিষ্ট্য ফীচার ডেটা যথাযথভাবে প্রস্তুত করা।
এমএল মডেল গুলোর উপর প্রশিক্ষণ প্রদান
এই পর্যায়ে, বিভিন্ন মেশিন লার্নিং অ্যালগরিদমের উপর ভিত্তি করে বিভিন্ন মডেল তৈরি করা হয়। ডেটা প্রশিক্ষণ এবং পরীক্ষা ডেটা সেটে বিভক্ত করা হয় এবং এমএল মডেলগুলি যথাক্রমে উপযুক্ত ডেটা সেটের সাথে প্রশিক্ষিত এবং পরীক্ষা করা হয়।
ML মডেল গুলো মূল্যায়ন করা
একবার মডেলটি তৈরি হয়ে গেলে, পরবর্তী ধাপে যথার্থতা/ত্রুটির পরিপ্রেক্ষিতে মডেলের মূল্যায়ন গুলো অন্তর্ভুক্ত থাকে। মডেল মূল্যায়নের জন্য confusion matrix এর মতো বিভিন্ন কৌশল ব্যবহার করা হয়। বিভিন্ন অ্যালগরিদমের মডেলের নির্ভুলতা পরিমাপের বিভিন্ন উপায় রয়েছে। এই কৌশলগুলি যথাযথভাবে প্রয়োগ করা হয়।
Data Science Project Lifecycle – Product-level Changes
ডেটা সায়েন্স মডেল যখন প্রোডাকশনে ডেপ্লয় করা হয় তখন এক বা একাধিক প্রোডাক্ট ফীচার গুলো দ্বারা ব্যয় করা হয়। সুতরাং, ডেটা প্রস্তুত করতে, মডেলে ডেটা পাঠাতে, রেস্পন্স হিসাবে প্রেডিকশন পেতে এবং এন্ড ইউজার কে আউটপুট দেখানোর জন্য প্রোডাক্ট টিকে যথাযথভাবে (UI, API গুলো ) পরিবর্তন করতে হবে।
Data Science Project Lifecycle – Model Deployment
এই পর্যায়ে, ML model গুলিকে production এ ব্যবহার করা হয়। আর এই ব্যাপারটাকে আমরা দুইভাগে ভাগ করতে পারি:
- Deploy models
- Make predictions
Deploy models
সাধারণত, এই ধরণের মডেল গুলো R বা Python প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করে তৈরি করা হয়। যাইহোক, অন্যান্য প্রযুক্তি/প্রোগ্রামিং ভাষা ব্যবহার করেও এই ধরণের মডেল তৈরি হতে পারে। আর এখানেই ডেটা সায়েন্স টীম কে তাদের মডেলগুলিকে প্রোডাকশনে নিয়ে যাওয়ার জন্য মডেল ডেপ্লয়মেন্ট দলের সাথে কাজ করতে হবে।
Make predictions
একবার মডেলটি প্রোডাক্শনে স্থাপন করা হলে, প্রোডাক্টটি পরবর্তীতে তৈরি করার জন্য API গুলোর মাধ্যমে মডেলটিকে কল করে।
Data Science Project Lifecycle – Monitoring the model
পরবর্তীতে যথার্থতা পরীক্ষা করার জন্য প্রোডাক্শনে মোতায়েন করা মডেলটিকে নিয়মিত পর্যবেক্ষণ করা দরকার হয়। এটি নতুন ডেটা সেট বা ভিন্ন বৈশিষ্ট্য সেট ইত্যাদির সাথে মডেলটি কাজ করে কিনা তা সিদ্ধান্ত নিতে সহায়তা করে।
Data Science Project Lifecycle – Model Enhancement
মডেলটিকে পুনরায় পরিবর্তন বা পরিবর্ধনের প্রয়োজন হলে, নিম্নলিখিত বিষয় গুলিতে নজর দিতে হবে:
- ফিচার ইঞ্জিনিয়ারিং ফিচারের নতুন সেট নির্বাচনের জন্য সিদ্ধান্ত নিতে হবে
- পরিবর্তিত বা পরিবর্ধিত মডেলের ডেভেলপমেন্ট/টেস্টিং, মডেল মূল্যায়ন এবং অবশেষে মডেলটিকে প্রোডাক্শনে স্থাপনের মতো সমস্ত ধাপগুলি পুনরায় পরীক্ষা করতে হবে।