Data Science, Machine Learning, Deep Learning and Big Data
Data Science Team Roles, Responsibility and Skills
একটি Data Science Team এ কারা জড়িত থাকে?
একটি ডেটা সায়েন্স প্রজেক্ট সম্পন্ন করার পূর্ব শর্ত হচ্ছে একটি ভালো Data Science Team গঠন করা। একেকটি ডেটা সায়েন্স প্রজেক্ট মানেই অনেক বিশাল কাজ। যা একটি স্থাপনা যেমন পদ্মা সেতু তৈরি করার মতোই। আর একটি বড় স্থাপনা তৈরিতে যেমন একেক কাজ একেক জন করতে হয়। ডেটা সায়েন্সও অনুরূপ। একটি ডেটা সায়েন্স প্রজেক্ট কমপ্লিট করতে মোট পাঁচ ধরণের লোকের দরকার হয়। নিম্নে চিত্রে তাদের কে দেখানো হলো :
তো চলুন একটি Data Science Team এ উপরোক্ত পাঁচ ধরণের লোক সম্পর্কে এইবার আলোচনা করা যাক :
1. Domain Expert:
এখানে Domain Expert মানে একটি নির্দিষ্ট এরিয়াতে কাজের অভিজ্ঞতা বা দক্ষতাকে বুঝানো হচ্ছে। বাস্তব জীবনে ডেটা সাইন্সের প্রজেক্ট গুলো বিভিন্ন শিল্পের একটি নির্দিষ্ট ডোমেইনে প্রয়োগ করা হয় যেমন ব্যাঙ্কিং, স্বাস্থ্যসেবা, পেট্রোলিয়াম শিল্প ইত্যাদি। একজন ডোমেইন বিশেষজ্ঞ হলেন এমন একজন ব্যক্তি যিনি নির্দিষ্ট ডোমেইনে কাজ করার অভিজ্ঞতা রাখেন এবং ডোমেনের ভিতরে এবং বাইরে জানেন।
2. Business analyst:
একজন Business Analyst প্রতিদিন কীভাবে ব্যবসা পরিচালনা করছে সে সম্পর্কে রিপোর্ট তৈরি এবং ব্যাখ্যা করার দিকে বেশি মনোযোগী থাকেন এবং তাদের ফলাফলের ভিত্তিতে সুপারিশ প্রদান করেন। এছাড়াও একজন business analyst সাধারণত ডেটা ট্রেন্ড খুঁজে বের করার দিকে মনোনিবেশ করেন এবং একটি প্রতিষ্ঠানের অপারেশন্স গুলো উন্নত করতে প্রযুক্তিগত সমাধান নিয়ে আসেন।
একজন Business Analyst হলেন একজন “agent of change অর্থাৎ পরিবর্তনের এজেন্ট” যিনি ব্যবসার নতুন opportunity (সুযোগ) এর জন্য একটি রোডম্যাপ তৈরি করার সাথে জড়িত থাকেন । তার কাজ হচ্ছে ডেটা বিশ্লেষণ করা এবং কার্যকরী পরিকল্পনা তৈরি করা । এছাড়াও বিভিন্ন ব্যবসায়িক মডেলের মধ্যে অসঙ্গতি খুঁজে বের করার, অতীত এবং বর্তমান সময়ে কোম্পানির কর্মক্ষমতা বুঝা এবং ভবিষ্যতের কর্মক্ষমতার পূর্বাভাস দিতে সিদ্ধান্ত গ্রহণকারীদের সাহায্য করার কাজটি করেন।
একজন Business Analyst এর দায়িত্ব ও কর্তব্য :
- ক্লায়েন্টদের সাথে যোগাযোগ রক্ষা করা এবং business solutions গুলি সন্ধান করা ।
- structured data এর উপর গভীর জ্ঞান অর্জন এবং টিমকে প্রয়োজনীয় নির্দেশনা প্রদান করা।
- interpersonal এবং management skill প্রয়োগ করা।
- SQL, Tableau, এবং Excel. সম্পর্কে গভীর জ্ঞান থাকা।
- প্রযুক্তিগত সমাধান ডিজাইন এবং বাস্তবায়নে সহায়তা করা ।
- ব্যবসায়িক প্রজেক্ট গুলোর গ্রোথ , ট্র্যাক এবং আপডেট এর উপর প্রয়োজনীয় রিপোর্ট তৈরি করা।
একজন Business Analyst এর ন্যূনতম যে skill গুলো থাকতে হয় :
- খুবই উন্নতমানের কমিউনিকেশন স্কিল থাকতে হয়।
- statistics এবং probability এর মতো গাণিতিক বিষয় গুলোর গভীর জ্ঞান থাকা।
- ডেটা মডেলিং এবং এর মেথড গুলো প্রয়োগের উপর দক্ষতা।
- ক্লায়েন্টদের সাথে ডিল করার ক্ষমতা।
- MS Excel, SWOT, PESTLE, Trello এবং BEAM এর ভালো অভিজ্ঞতা।
- Data Visualization এর মতো বিষয় যেমন histograms, bar charts, pie charts, waterfall charts, এবং thermometer charts এর উপর গভীর জ্ঞান থাকা।
- নতুন নতুন বিষয়ের উপর দ্রুত শেখার এবং জ্ঞান অর্জনের উপর গভীর আগ্রহ থাকা
- Strong Leadership
- প্রয়োজনীয় ডেটা খুঁজে বের করা এবং একে সংগঠিত করা।
- প্রয়োজনীয় এবং অর্থপূর্ণ ডেটা খুঁজে বের করতে unstructured এবং structured ডেটাকে আলাদা করা।
- machine learning, statistics, এবং mathematical skill কে কাজে লাগানো।
- প্রোগ্রামিং ল্যাঙ্গুয়েজে গুলো যেমন Python, Spark, TensorFlow, Hadoop এবং R দিয়ে প্রয়োজনীয় কোড করা এবং এগুলোর এক বা একধিককে কাজে লাগানো।
- মেশিন লার্নিং মডেলে সামঞ্জস্য করা।
- statistics এবং probability এর মতো গাণিতিক বিষয় গুলোর গভীর জ্ঞান থাকা।
- Coding এবং programming language সমূহ যেমন : Python, Java, C++, C, R এবং JavaScript এর উপর দক্ষতা থাকা।
- Data Extraction, Transformation এবং Loading এ অভিজ্ঞতা থাকা।
- Data Wrangling এবং Data Exploration এর মতো বিষয়ে গভীর জ্ঞান থাকা।
- Data Visualization এর মতো বিষয় যেমন histograms, bar charts, pie charts, waterfall charts, এবং thermometer charts এর উপর গভীর জ্ঞান থাকা।
- Machine Learning এবং এর Algorithm সমূহ যেমন : Random Forest, XGBoost, CatBoost বিষয়ে ব্যাপক জ্ঞান থাকা।
- Big Data Processing Framework সমূহ যেমন- Hadoop, Storm, Spark, ,Hive, MapReduce,Presto, Heron এবং Flink.উপর দৃঢ় জ্ঞান থাকা
- Data Science Model গুলো Deployment এর উপর গভীর জ্ঞান থাকা।
- ভাল Problem Solving দক্ষতা এবং ডেটা স্ট্রাকচার এবং অ্যালগরিদমের পুঙ্খানুপুঙ্খ জ্ঞান থাকা।
- ভালো Communication Skill থাকা।
- নতুন নতুন বিষয়ের উপর দ্রুত শেখার এবং জ্ঞান অর্জনের উপর গভীর আগ্রহ থাকা
- মেশিন লার্নিং সিস্টেম, মডেল এবং স্কিম ডিজাইন, উন্নয়ন এবং গবেষণা করা।
- ডেটা সায়েন্স প্রোটোটাইপগুলি অধ্যয়ন করা, রূপান্তর করা এবং উৎকর্ষ সাধন করা
- ডেটা সংগ্রহ এবং ডেটা মডেলিং সম্পাদন করার আগে উপযুক্ত ডেটা সেট অনুসন্ধান এবং নির্বাচন করা
- পরিসংখ্যানগত বিশ্লেষণ সম্পাদন করা এবং মডেলগুলি উন্নত করতে ফলাফল ব্যবহার করা
- প্রয়োজন অনুসারে ML system এবং মডেলগুলিকে প্রশিক্ষণ এবং পুনরায় প্রশিক্ষণ দেওয়া
- data distribution পার্থক্যগুলি সনাক্ত করা যা বাস্তব-বিশ্বের পরিস্থিতিতে মডেলের কার্যকারিতাকে প্রভাবিত করতে পারে
- গভীর ভাবে পর্যবেক্ষণের জন্য ডেটা ভিজ্যুয়ালাইজ করা
- ML algorithm গুলি ব্যবহারের ক্ষেত্রে বিশ্লেষণ করা এবং তাদের সাফল্যের সম্ভাবনা দ্বারা Ranking করা
- ফলাফলগুলি কখন ব্যবসায়িক সিদ্ধান্তগুলিতে প্রয়োগ করা যেতে পারে তা বোঝা
- বিদ্যমান ML framework এবং লাইব্রেরি সমৃদ্ধ করা
- data quality যাচাই করা এবং data cleaning এর মাধ্যমে তা নিশ্চিত করা
- Advanced math এবং statistics এ দক্ষতা, পাশাপাশি অন্যান্য বিষয় যেমন linear algebra, calculus এবং Bayesian statistics.
- computer science, math, statistics বা এই সম্পর্কিত বিষয়ের উপর উন্নত ডিগ্রি থাকা ।
- machine learning, neural networks, deep learning বা সংশ্লিষ্ট ক্ষেত্রে স্নাতকোত্তর ডিগ্রি থাকা।
- Strong analytical, problem-solving এবং teamwork skill থাকা।
- সফটওয়্যার ইঞ্জিনিয়ারিং এ দক্ষতা থাকা।
- ডেটা সায়েন্সে অভিজ্ঞতা থাকা ।
- Coding এবং programming language সমূহ যেমন : Python, Java, C++, C, R এবং JavaScript এর উপর দক্ষতা থাকা।
- ML framework গুলোর সাথে কাজ করার অভিজ্ঞতা।
- ML library গুলো এবং প্যাকেজগুলির সাথে কাজ করার অভিজ্ঞতা থাকা।
- data structures, data modeling এবং software architecture এর উপর গভীর জ্ঞান থাকা ।
- computer architecture এর উপর গভীর জ্ঞান থাকা।
- সামগ্রিক প্রাতিষ্ঠানিক ডেটা কৌশল ডিজাইন, ডেভেলপ, বাস্তবায়ন করা সেই সাথে স্ট্যান্ডার্ড , প্রিন্সিপাল, ডেটা সোর্স, স্টোরেজ, পাইপলাইন, ডেটা প্রবাহ এবং ডেটা সুরক্ষা নীতি সহ ব্যবসায়ের প্রয়োজনীয় ডেটা উদ্ঘাটন করা।
- ডেটা কৌশল কার্যকর করতে ডেটা ইঞ্জিনিয়ার, ডেটা বিজ্ঞানী এবং অন্যান্য স্টেকহোল্ডারদের সাথে সহযোগিতা করা।
- ডেটা ফ্রেমওয়ার্ককে গাইড করে এমন প্রতিষ্ঠানের সাথে ডেটা আর্কিটেকচারের প্যাটার্ন নিয়ে যোগাযোগ করা এবং ডেটাকে ডিফাইন করা।
- secure, scalable, high-performance, এবং নির্ভরযোগ্য বিগ ডেটা এবং অ্যানালিটিক্স সফ্টওয়্যার এবং service গুলি ডেভেলপ জন্য লিডিং ডেটা টীম গুলো প্রস্তুত করা।
- ডেটা মডেলিং, ইন্টিগ্রেশন, ডিজাইন এবং ডেটা ম্যানেজমেন্ট: ডেটা আর্কিটেক্টরা ডেটা মডেলিং, ডিজাইন এবং ডেটা ম্যানেজমেন্টের ধারণা, নীতি এবং বাস্তবায়ন বোঝেন। তারা প্রাসঙ্গিক ডেটা মডেল তৈরি করতে পারে এবং সংস্থার ডেটা প্রবাহ ডিজাইন করতে পারে।
- ডাটাবেস এবং অপারেটিং সিস্টেম: ডেটা আর্কিটেক্টরা বিভিন্ন SQL এবং NoSQL ডাটাবেসে অভিজ্ঞ। তারা প্রতিটির সুবিধা এবং অসুবিধাগুলি বোঝে এবং কীভাবে সেগুলিকে বিভিন্ন অপারেটিং সিস্টেম (লিনাক্স, উইন্ডোজ) এবং পরিবেশে (উন্নয়ন এবং প্রোডাকশন) কার্যকরভাবে এবং নিরাপদে সেট আপ করা যেতে পারে।
- ডেটা আর্কিটেকচার: ডেটা আর্কিটেকচাররা এন্টারপ্রাইজ ডেটা ওয়্যারহাউস উন্নয়নের জন্য ডেটা আর্কিটেকচারের সেরা অনুশীলনগুলি জানেন। প্রতিষ্ঠানের ডেটা পরিকাঠামো এবং বিভিন্ন সিস্টেম কীভাবে ইন্টারঅ্যাক্ট করে সে সম্পর্কে তাদের দৃঢ় ধারণা রয়েছে।
- ডেটা সুরক্ষা এবং গভর্নেন্স : ডেটা আর্কিটেক্টরা প্রক্রিয়া, ভূমিকা, নীতি, মান এবং মেট্রিক্স বোঝেন যা ডেটা/তথ্যের কার্যকর এবং দক্ষ ব্যবহার নিশ্চিত করে। ডেটা আর্কিটেক্টরা প্রতিটির ঝুঁকি এবং প্রশমন সম্পর্কে ভাল বোঝার সাথে ডেটা গভর্নেন্স কৌশলগুলিতে দক্ষ। তারা নিশ্চিত করে যে ডেটা গভর্নেন্স সামগ্রিক সাংগঠনিক কৌশলের সাথে সঙ্গতিপূর্ণ।
- যোগাযোগ এবং নেতৃত্ব: ডেটা আর্কিটেক্টরা সাধারণত ডেটা ম্যানেজমেন্ট দলের নেতা হয়; যেমন, তাদের অবশ্যই প্রযুক্তিগত এবং অ-প্রযুক্তিগত উভয় শ্রোতাদের কাছে জটিল ডেটা সমস্যার স্পষ্ট প্রযুক্তিগত সমাধান যোগাযোগ করতে হবে।
- raw data বিশ্লেষণ এবং সংগঠিত করা।
- data system এবং পাইপলাইন গুলো তৈরি করা।
- ব্যবসার প্রয়োজন এবং উদ্দেশ্য মূল্যায়ন করা।
- ডেটা ট্রেন্ড এবং প্যাটার্ন ব্যাখ্যা করা।
- complex data বিশ্লেষণ এবং ফলাফলের উপর রিপোর্ট তৈরি করা।
- নির্দেশনা মূলক এবং ভবিষ্যদ্বাণীমূলক মডেলিংয়ের জন্য ডেটা প্রস্তুত করা।
- অ্যালগরিদম এবং প্রোটোটাইপ তৈরি করা।
- বিভিন্ন উত্স থেকে raw data গুলো একত্রিত করা।
- ডেটা গুণমান এবং নির্ভরযোগ্যতা বাড়ানোর উপায়গুলি অন্বেষণ করা।
- ডেটা নেওয়ার বা অধিগ্রহনের জন্য সুযোগগুলো সনাক্ত করা।
- বিভিন্ন ধরণের analytical tools এবং program সমূহ ডেভেলপ করা।
- বিভিন্ন প্রকল্পে data scientist এবং architect দের সাথে সহযোগিতা করা।
- Data models, data mining, and segmentation technique গুলির উপর প্রযুক্তিগত দক্ষতা থাকা প্রয়োজন।
- Coding এবং programming language সমূহ যেমন : Python, Java, C++, C, R এবং JavaScript এর উপর দক্ষতা থাকা।
- SQL database design এর সাথে হাতে-কলমে অভিজ্ঞতা থাকা।
- Advanced math এবং statistics এ দক্ষতা, পাশাপাশি অন্যান্য বিষয় যেমন linear algebra, calculus এবং Bayesian statistics.
- computer science, math, statistics বা এই সম্পর্কিত বিষয়ের উপর উন্নত ডিগ্রি থাকা ।
3. Data Scientist:
একটি Data Science Team এ একজন ডেটা সায়েন্টিস্ট হলেন complex algorithms এবং computer programming লেখা সহ high-level data manipulation এর বিষয়ে এবং ডেটা সায়েন্স প্রকল্পের বিশেষজ্ঞ এবং যার ডেটা নিয়ে কাজ করার পূর্ব অভিজ্ঞতা রয়েছে এবং প্রয়োজনীয় সমাধান তৈরি করার জন্য কী ডেটার প্রয়োজন তা সমাধান করতে পারে। যিনি Raw Data নিষ্কাশন এবং এনালাইসিস এর সাথে জড়িত থাকবেন । এছাড়াও একজন ডেটা সায়েন্টিস্ট এর কাজ হচ্ছে বড় ডেটা সেট বের করা, ফরম্যাটিং, বিশ্লেষণ এবং রক্ষণাবেক্ষণের কাজে জড়িত থাকা ।
একজন Data Scientist এর দায়িত্ব ও কর্তব্য :
একজন Data Scientist এর ন্যূনতম যে skill গুলো থাকতে হয় :
4. Machine Learning Engineer:
একটি Data Science Team এ মেশিন লার্নিং ইঞ্জিনিয়াররা হলেন প্রযুক্তিগতভাবে দক্ষ কিছু প্রোগ্রামার যারা ভবিষ্যদ্বাণীমূলক মডেলগুলি স্বয়ংক্রিয় করার জন্য স্ব-চালিত সফ্টওয়্যার গবেষণা, তৈরি এবং ডিজাইন করে। একজন ML Engineer কৃত্রিম বুদ্ধিমত্তা (AI) সিস্টেম তৈরি করে যা শেখার এবং শেষ পর্যন্ত ভবিষ্যদ্বাণী করতে সক্ষম অ্যালগরিদম তৈরি এবং বিকাশের জন্য বিশাল ডেটা সেটগুলিকে কাজে লাগায়।
প্রতিবার সফ্টওয়্যারটি রান করার সময়, এটি ভবিষ্যতের ক্রিয়াকলাপগুলি আরও নিখুঁতভাবে চালানোর জন্য সেই ফলাফলগুলি থেকে শিখে৷
মেশিন লার্নিং সিস্টেম ডিজাইন করার জন্য মেশিন লার্নিং ইঞ্জিনিয়ারের high-performance machine learning model গুলি ডেভেলপে সহায়তা করার জন্য প্রয়োজনীয় ডেটা মূল্যায়ন, বিশ্লেষণ এবং সংগঠিত করা, পরীক্ষা চালানো এবং শেখার প্রক্রিয়াটি অপ্টিমাইজ করার কাজটি করেন।
একজন Machine Learning Engineer এর দায়িত্ব ও কর্তব্য :
একজন Machine Learning Engineer এর ন্যূনতম যে skill গুলো থাকতে হয় :
একটি Data Science Team এ একজন মেশিন লার্নিং ইঞ্জিনিয়ার এর নিম্নোক্ত দক্ষতা এবং যোগ্যতার অভিজ্ঞতা থাকতে হবে:
5. Data Architect:
একটি Data Science Team এএকজন ডেটা আর্কিটেক্ট প্রাতিষ্ঠানিক ডেটা স্ট্রাটেজি প্রণয়ন এবং ডেটা ম্যানেজমেন্ট স্ট্যান্ডার্ড এবং এর প্রিন্সিপাল গুলি ডিফাইন করার কাজ গুলো করবেন। ডেটা আর্কিটেক্টরা “data blueprint” ডিজাইন করে যা অন্যান্য ডেটা গ্রাহকরা অনুসরণ করে এবং প্রয়োগ করে।
একজন ডেটা আর্কিটেক্ট একটি প্রতিষ্ঠানের লজিকাল এবং ফিজিক্যাল ডেটা অ্যাসেট গুলো তৈরি করে এবং কোম্পানির প্রয়োজনীয়তার উপর ভিত্তি করে ডেটা নীতি সেট করে। ডেটা আর্কিটেক্টরা প্রায়শই শিল্পে অভিজ্ঞ যারা অনেক ডেটা ভূমিকার অভিজ্ঞতা অর্জন করেছেন এবং জটিল ব্যবসায়িক পরিস্থিতিতে নেভিগেট করার অভিজ্ঞতা অর্জন করেছেন এবং ডেটা টীম গুলো যেন তাদের কাজে লাগাতে পারে এমন সমাধানগুলি ডিজাইন করতে পারে।
একজন ডেটা আর্কিটেক্ট এর দায়িত্ব ও কর্তব্য :
একজন ডেটা আর্কিটেক্টের প্রাথমিক দায়িত্ব প্রতিষ্ঠানে বড় আকারের ডেটা সিস্টেম ডিজাইন, তৈরি, পরিচালনা এবং স্থাপনের জন্য গভীর প্রযুক্তিগত দক্ষতা প্রদান করা।
একজন ডেটা আর্কিটেক্টের দায়িত্বগুলির মধ্যে রয়েছে:
একজন ডেটা আর্কিটেক্ট এর ন্যূনতম যে skill গুলো থাকতে হয় :
ডেটা আর্কিটেক্টদের উন্নতির জন্য technical এবং soft skills সমন্বয় প্রয়োজন। সাধারণত, ডেটা আর্কিটেক্টরা ডেটা সায়েন্টিস্ট, ডেটা অ্যানালিস্ট, বা ডেটা ইঞ্জিনিয়ারের মতো অন্যান্য ডেটা রোলে শুরু করে এবং ডেটা মডেলিং, ডেটা ডিজাইন এবং ডেটা ম্যানেজমেন্টের বছরের পর বছর অভিজ্ঞতার পরে ডেটা আর্কিটেক্ট হওয়ার পথে কাজ করে। ডেটা আর্কিটেক্টদের কিছু দক্ষতার মধ্যে রয়েছে:
6. Data Engineer:
একটি Data Science Team এ ডেটা ইঞ্জিনিয়াররা data system তৈরি এবং রক্ষনাবেক্ষনের কাজ করে থাকে । তারা এমন একটি ডেটাসেট তৈরি করে যা বিশ্লেষণ করা সহজ এবং কোম্পানির প্রয়োজনীয়তা সাপোর্ট করে।
একজন ডেটা ইঞ্জিনিয়ার ডেটা নির্ভরযোগ্যতা এবং গুণমান উন্নত করার method গুলি প্রয়োগ করে এবং সামঞ্জস্যপূর্ণ এবং machine-readable format তৈরি করতে বিভিন্ন উৎস থেকে raw data একত্রিত করে। এছাড়াও ভবিষ্যদ্বাণীমূলক বা প্রেসক্রিপটিভ মডেলিংয়ের জন্য ডেটা নিষ্কাশন এবং রূপান্তর সক্ষম করে এমন আর্কিটেকচারগুলি ডেভেলপ এবং পরীক্ষা করে।
একজন ডেটা ইঞ্জিনিয়ার এর দায়িত্ব ও কর্তব্য:
একটি Data Science Team এ একজন ডেটা ইঞ্জিনিয়ার এর কাজ গুলো কোম্পানি ভেদে ভিন্ন ভিন্ন হতে পারে। তবে নিম্নোক্ত কাজ গুলো সব কোম্পানিতেই ডেটা ইঞ্জিনিয়ারদের করতে হয় :