on
ডাটা সায়েন্স নিয়ে নতুনদের কিছু কমন প্রশ্ন ও উত্তর
☛ Data Science এর theoretical concept + algorithm জানতে হলে কি কি বই পড়তে হবে?
☛ কোন theory/algorithm কোথায় implement করতে হবে তা কিভাবে জানব?
☛ নতুন নতুন Algorithm development কিভাবে করব?
☛ কি কি Math জানলে Data science শেখা সহজ হবে + নতুন নতুন Algorithm বানানো নিয়ে চিন্তা করতে পারব , Complexity Analysis করতে পারব ?
☛ কয়েকটা বই এর (For data science + for Math ) Suggestion, যেসব বই পড়া একজন Data scientist এর জন্য জরুরী.
What is Data Science? কিংবা What skills a data scientist should have? লিখে যদি সার্চ দেই তাহলে অনেক তথ্যই পাওয়া যাবে। আমি নিজে বেশ ভালোই কনফিউজড হয়েছিলাম। অনেক জায়গায় দেখানো হয়েছে অনেকগুলো বিষয়ের কম্বিনেশন নিয়ে Data Science এর উৎপত্তি, আবার কিছু জায়গায় বিষয়ের সংখ্যা কিছু কম দেখলাম। অনেক জায়গায় দেখলাম Data Scientist হতে হলে আপনাকে ৮টা..১০টা..১৫টা (একেক জায়গায় একেক সংখ্যক দেয়া) স্কিল মাস্ট থাকতেই হবে।
সব কিছুর ভেতরে আমার সবচেয়ে যুক্তিসংগত মনে হয়েছে Steven Geringer Raleigh এর Data Science Venn Diagram v2.0 টা কে।
এই ভেন ডায়াগ্রামে Data Science কে মূলত ৩টি বিষয়ের কম্বিনেশন হিসেবে দেখানো হয়েছে –
- Computer Science
- Mathematics & Statistics
- Subject Matter Expertise অথবা Domain Knowledge
অর্থাৎ এই তিনটি বিষয়ে নির্দিষ্ট একটা লেভেল এর জ্ঞান থাকলে আপনি Data Science নিয়ে কাজ করতে পারবেন। নির্দিষ্ট একটা লেভেল বললাম কারণ একজন মানুষের পক্ষে এই ৩টা সেক্টরেই মাস্টারিং করা সাধারণত সম্ভব হয় না।
1. Computer Science: এই সেক্টরের যে জ্ঞান গুলো আপনার লাগবে তা হল – প্রোগ্রামিং জ্ঞান (R,Python,Java etc), ডাটা স্ট্রাকচার ও অ্যালগোরিদমের জ্ঞান, ডাটাবেজ এর জ্ঞান, বিভিন্ন ট্রেডিশনাল সফটওয়্যার ও অ্যানালাইটিক্যাল টুল ব্যবহারের জ্ঞান ইত্যাদি। (আরো বেশ কিছু জ্ঞান লাগতে পারে। জ্ঞানের কোন শেষ নাই, যত শিখা যাবে ততোই ভালো হবে।)
2. Mathematics & Statistics: ব্যাসিক গাণিতিক জ্ঞান অবশ্যই লাগবে। গনিতের ক্ষেত্রে কিছু বিষয়ের জ্ঞান – Linear Algebra, Calculus, Probability এইগুলো বেশ ভালো পরিমাণেই লাগে, তাই এই বিষয়গুলোর কনসেপ্ট ক্লিয়ার থাকা উচিত। Statistics এর ক্ষেত্রে Descriptive Statistics, Inferential Statistics (Regression, Hypothesis Testing, ANOVA, Predictive Model) এসবের জ্ঞান খুব বেশি পরিমাণে লাগে তাই এগুলোর কনসেপ্টও ক্লিয়ার থাকতে হবে। (এখানেও জ্ঞানের কোন শেষ নাই, যত শিখা যাবে ততোই ভালো হবে।)
3. Domain Knowledge: আপনি যে ধরনের ডাটা নিয়ে কাজ করবেন সেই বিষয়ক জ্ঞান জানা লাগবে আপনার। যেমন ধরেন আপনি যদি বিজনেস ডাটা নিয়ে কাজ করেন তাহলে প্রয়োজন অনুযায়ী বিজনেসের জ্ঞান থাকতে হবে, যদি জিওগ্রাফিয়াল ডাটা নিয়ে কাজ করেন তাহলে সেই বিষয়ক জ্ঞান থাকতে হবে।
এবার প্রশ্নগুলোর প্রেক্ষিতে কিছুটা স্পেসিফিক উত্তর দেয়ার চেষ্টা করছি –
☝ “Data Science এর theoretical concept + algorithm জানতে হলে কি কি বই পড়তে হবে?” — শুধুমাত্র Data Science এর জন্য কোন থিওরি কিংবা অ্যালগোরিদম আছে কিনা আমি জানি না। যতদূর বুঝলাম Data Science এ কম্পিউটার সায়েন্সের থিওরি গুলো, ম্যাথ ও স্ট্যাটিস্টিকস এর থিওরি গুলোই ব্যবহার করা করা হয়। কি ধরনের ডাটা নিয়ে কাজ করছেন, ডাটা থেকে আপনি কি বের করতে চাচ্ছেন এসবের উপর ভিত্তি করে উপযুক্ত থিওরি ও অ্যালগোরিদম বাছাই ও ব্যবহার করা হয়। যেমনঃ মেশিন লার্নিং এর জন্য রিগ্রেশন, নেইভ বায়েস ইত্যাদি।
☝ “কোনটা কোথায় implement করতে হবে তা কিভাবে জানব? নতুন নতুন Algorithm development কিভাবে করব?” — ওই যে বললাম কোথায় কোনটা ইমপ্লিমেন্ট/অ্যাপলাই করবেন সেটা নির্ভর করে আপনার ডাটা এবং আপনি কি চাচ্ছেন তার উপর। নতুন নতুন Algorithm development কিভাবে করবেন সেটা আপনি যে প্রব্লেমের জন্য অ্যালগোরিদম ডেভেলপ করতে চান সেই বিষয়ের উপর আপনার জ্ঞান ও আপনার এক্সপেরিয়েন্সের উপর নির্ভর করবে।
☝ “কি কি Math জানলে Data science আমার জন্য সহজ হবে?” — উপরের Mathematics & Statistics পার্টে যেগুলোর কথা বলেছি সেগুলো অবশ্যই ক্লিয়ার করবেন।
☝ “কেউ যদি কয়েকটা বই(For data science + for Math ) Suggest করতেন” — বইয়ের কথা আপাতত বলতে পারছি না। https://www.facebook.com/notes/rxperts/r-resources/1023757837741011 এখানে বেশ কিছু ভালো ভালো বইয়ের সাজেশন আছে, আপনার পছন্দ মতো শুরু করতে পারেন। কোন বিষয়ে যদি কম জ্ঞান থাকে / না বুঝেন…হতে পারে CS কিংবা Math কিংবা Stat. তাহলেও হতাশ হওয়ার কিছু নেই। একজনের পক্ষে সব বিষয়ের জ্ঞান মজুদ রাখা সম্ভব না।
তাই সব কিছু শিখতে যেয়ে অথৈ সাগরে না পরার জন্য আমি যেটা করি, সেটা হল কিছু সিম্পল সিম্পল প্রব্লেম / প্রজেক্ট করার করার চেষ্টা করি। প্রজেক্ট করা কিংবা প্রব্লেম সল্ভ করতে গিয়ে যেসব কনসেপ্ট আমি জানি না/ক্লিয়ার না সেগুলো শিখে নেই। এতে করে CS,Math,Stat এর অথৈ সাগরে হাবুডুবু খাওয়া থেকে বাঁচি। সময়ের সাথে প্র্যাকটিস করতে করতে আশা করি একসময় প্রয়োজনীয় জ্ঞান হয়ে যাবে।