ডাটা সায়েন্টিস্ট কাদের বলা হয়? এই বিষয় নিয়ে পড়াশোনা করতে চাইলে কী যোগ্যতা দরকার হয়?
ডেটা সায়েন্স কী?
ডেটা সায়েন্স নতুন এবং দ্রুত জনপ্রিয় হচ্ছে এমন একটি ফিল্ড। অনেকেই ইদানীং ডেটা সায়েন্সের প্রতি আগ্রহী হয়ে উঠছে। অথচ তাদের অনেকেই পরিষ্কারভাবে জানে না ডেটা সায়েন্স বলতে কী বোঝায়।
ডেটা সায়েন্স ইজ লুজলি ডিফাইন্ড। অর্থাৎ ডেটা সায়েন্স বলতে অনেক কিছুই বোঝানো সম্ভব এবং অনেক কিছুই বোঝানো হচ্ছে। কোন ডিসিপ্লিনের মানুষ শব্দটি ব্যবহার করছে তার উপর নির্ভর করে তারা ডেটা সায়েন্স বলতে কী বোঝাচ্ছে। এর কারণ হলো ডেটা নিয়ে যে বা যারা কাজ করে তারাই নিজেদেরকে ডেটা সায়েন্টিস্ট হিসেবে দাবী করতে পারে।
সহজ করে বলতে গেলে ডেটা সায়েন্স এমন একটি শাখা যেখানে নানা বিষয়ের লোকজন একসাথে ডেটা নিয়ে কাজ করে সেই ডেটাকে অর্থবহ করে ব্যবহারোপযোগী করে তোলে যা থেকে সিদ্ধান্ত গ্রহণ করা সম্ভব হয়। অর্থাৎ কোন প্রতিষ্ঠানের কাছে যে ডেটা আছে সেই ডেটা প্রতিষ্ঠানটির কী কাজে লাগবে সেভাবে ডেটাকে কাজে লাগানোর বিজ্ঞানকেই ডেটা সায়েন্স বলা যাবে।
ডেটা সায়েন্স কোথায় ব্যবহৃত হচ্ছে?
অতি পরিচিত উদাহরণ হলো গুগল। আপনি গুগলের সার্ভিসে লগিন থাকা অবস্থায় সার্চ করেন “cricket” তাহলে যা পাবেন আপনি গুগলে লগিন না করে যদি একই কী-ওয়ার্ড সার্চ করেন দেখবেন ফলাফল একটু হলেও ভিন্ন হবে। কেন এমনটা হয় সেটা ভেবে দেখেছেন কখনো? কারণ হলো গুগল আপনার পছন্দ অপছন্দ অনেক কিছুই জানে। আর সে মোতাবেক আপনার জন্য personalized search result তৈরী করে আপনার সামনে পেশ করে। গুগল এমনটি করে থাকে আর্টিফিশিয়াল ইন্টেলিজেন্সের মাধ্যমে যেটি ডেটা সায়েন্সের একটি অংশ বলা যায়।
আপনি কী করেন, কোথায় ঘুরতে যান, কোথায় খান, কোন দোকানে শপিং করেন, কী ধরনের শপিং করেন সেসবের অনেককিছুই এখন ট্রাক করা সম্ভব এবং করা হচ্ছেও। লোকেশনের কথাই ধরা যাক। আপনার হাতের স্মার্ট ফোনটি আপনার গতিবিধি সবকিছুই রেকর্ড করছে। আপনি হয়তো জানেন না অথবা জেনেও কিছু বাড়তি সুবিধা দিয়ে গুগল আপনার কাছ থেকে এই তথ্যগুলো যোগাড় করে নিচ্ছে। এতে গুগলের ব্যবসায়িক উদ্দেশ্য তো অবশ্যই আছে সেই সাথে আপনাকেও অনেক কিছু সহজে করে দিচ্ছে। এসব তথ্য নিয়ে গুগলের মেশিন আপনার সম্পর্কে লার্ণ করছে বা শিখছে। আপনাকে চিনছে।
এটা গেল একটা উদাহরণ। ডেটা সায়েন্সে এখন বিগ ডেটার ব্যবহার শুরু হয়েছে। বিগ ডেটা হলো অনেক বড় ডেটা। যত বড় হলে আপনার কম্পিউটারে সেই ডেটা এনালাইজ করা যাবে না সেরকম ডেটাকেই বিগ ডেটা বলা হচ্ছে। অন্যভাবে বলা যায় সাধারণ কনজিউমার লেভেলের কম্পিউটার দিয়ে যে ডেটা এনালাইজ করা যায়না সেই ডেটা হলো বিগ ডেটা।
এরকম ডেটা এখন হরহামেশা তৈরী হচ্ছে। কারণ তথ্যের প্রবাহ বেড়েছে আর সেই সাথে কমেছে কম্পিউটার স্টোরেজ -এর মূল্য। ফলে সবাই এখন ব্যাপক হারে ডেটা জেনারেট করছে (যেমন ওয়েব সাইট ক্লিক, সাইট ভিজিট, টুইট করা কিংবা ফেইসবুকে স্ট্যাটাস দেয়া, ইত্যাদি) তেমনি সেই ডেটাকে অল্প খরচে এখন সংরক্ষণ করাও সহজ হয়েছে।
তবে এর ব্যতিক্রমও আছে। যেমন প্লেনের ফ্লাইট রেকর্ড যা প্রতি সেকেন্ডে প্লেনের অবস্থান, দ্রুতি, বাতাদের প্রেশার সহ হাজারো প্যারামিটিারের মান রেকর্ড করতে পারে যা থেকে ফ্লাইটকে আরো নিরাপদ করা সম্ভব বলে বলা হচ্ছে। অথচ চাইলেই এরকম ডেটা রিয়েল টাইমে সংগ্রহ করা সহজ নয়। কারণ স্যাটেলাইটের মাধ্যমে গিগাবাইট ডেটা ট্রান্সফার করা ব্যাপক ব্যয়বহুল। আপনার মোবাইলের ডেটার খরচের সাথে তুলনা করলেই সেটা অনুমান করতে পারবেন।
ডেটা সায়েন্সের একটি দিক হলো মেশিন লারনিং। মেশিন লারনিং বাস্তবায়ন করা খুব সহজ কাজ না হলেও ব্যাপারটা বেশ সহজ। একটি শিশুর কথা ধরা যাক। শিশুটি কিভাবে ভাষা শেখে সেটি ভেবে দেখুন। যদি বলা হয় শিশু নয়, একটি যন্ত্রকে ভাষা শেখাতে হবে তাহলে আপনি কিভাবে সেটি বাস্তবায়ন করবেন যাতে সে আপনার ভাষা বুঝতে পারে? কঠিন কাজ। কিন্তু এটিই মেশিন লারনিং। মেশিন যেভাবে শেখে সেটিই মেশিন লারনিং।
উদাহরন দেই– হাসপাতালে অপারেশনর পর ICU তে যেসব রোগী যায় তাদের (ধরি) আনুমানিক ১০ শতাংশ মারা যায়। ধরুন আপনার হাসপাতালে সেরকম এক লক্ষ্য রোগীর তথ্য আছে — রোগীর বয়স, রোগের ধরন, অন্যান্য ক্লিনিকাল তথ্য। এই ডেটা থেকে লার্ণ করে আমরা এমন একটি স্ট্যাটিসটিক্যাল মডেল কি তৈরী করতে পারবো যেটি নতুন সেরকম একজন রোগীর মারা যাওয়ার সম্ভাবনা বের করতে পারবে? এমনটি যদি করা যায় তাহলে আমরা আগে থেকেই সে রোগীর প্রতি নিবিড় মনোযোগ দিতে পারবো বা ব্যবস্থা নিতে পারবো। এখানে মেশিন লারনিং ব্যবহার করে ‘ফিচার’ বা ‘ফ্যাক্টর’গুলোকে বের করা হচ্ছে যে ফ্যাক্টরগুলো রোগীর মারা যাওয়ার সাথে সম্পর্কিত।
মেশিন লারনিং এর জনপ্রিয় উদাহরণ হলো গুগল নাউ বা Ok Google এবং এ্যাপল-এর সিরি এসিস্ট্যান্ট। তারা আপনার ভয়েস চিনে আপনার সাথে আলাপ চালিয়ে যেতে পারে এবং ছোটখাট প্রশ্নের উত্তরও দিতে পারে।
আসছে দিনে মেশিন লারনিং-এর আরেকটি উপহার আমরা পেতে যাচ্ছি যেটি হলো স্বচালিত গাড়ি।
ডেটা সায়েন্টিস্ট কারা?
খুব সরলভাবে বলা যায় যারা ডেটা নিয়ে কাজ করে তারাই ডেটা সায়েন্টিস্ট। মজার ব্যপার হলো ডেটা সায়েন্টিস্ট হওয়ার জন্য কারো সার্টিফিকেট লাগে না। আপনার মধ্যে যদি নিচের দক্ষতাগুলোর বেশীর ভাগই থাকে তাহলে আপনিও নিজেকে ডেটা সায়েন্টিস্ট হিসেবে দাবী করতে পারেন। তবে দাবীই যথেষ্ট নয়, কাজেও তার চিহ্ন রাখতে হবে।
- SQL কোয়েরি লিখতে পারা
- মেসি ডেটাকে ক্লিন করতে পারা (এই মেসি সেই মেসি নয়)
- অতঃপর সেই ডেটাকে স্ট্যাটিসটিক্যাল মডেল রান দেয়ার উপযোগী করে প্রস্তত করতে পারা
- ওয়েব পেজ, পিডিএফ ফাইল বা এরকম নন-স্ট্যান্ডার্ড জায়গা থেকে ডেটা স্ক্রাপ করতে পারা
- ডেটাকে গ্রাফের মাধ্যে ভিজুয়ালাইজ করতে পারা
- মেশিন লারনিং মডেল ফিট করতে পারা
- ডিজাইন অব এক্মপেরিমেন্ট এবং analysis of variance করতে পারা
- পরিসংখ্যানের বেসিক এবং কিছুটা এডভান্সড ধারণা রাখা
- প্রোগ্রামিং-এ দক্ষতা থাকা কিংবা দ্রুত ধরে ফেলতে পারা
একজন দক্ষ ডেটা সায়েন্টিস্ট হতে কিছু পদক্ষেপ বা প্রস্তুতি
যেকোনো বিষয়ে কর্মদক্ষতা অর্জন করতে হলে প্রয়োজন একটি পরিকল্পিত ও সুচিন্তিত দিকনির্দেশনা, যা যথাযথভাবে অনুসরণ করার মাধ্যমে আপনি নিজেকে ঐ বিষয়ে দক্ষ করে গড়ে তুলতে পারবেন। তেমনিভাবে আপনি যদি নিজেকে একজন বিজ্ঞ ডেটা সায়েন্টিস্ট হিসেবে প্রতিষ্ঠিত করতে চান, তবে আপনাকেও পরিকল্পিত উপায়ে সামনে অগ্রসর হতে হবে। আর এই পরিকল্পনার অংশ হতে পারে নিচের ধাপগুলো। যেগুলো আয়ত্ত্ব করে আপনি হয়ে উঠতে পারেন বিশ্ব সেরা এক ডেটা সায়েন্টিস্ট।
♦ পরিসংখ্যান, মেশিন লার্নিং ও গনিতে দক্ষতা উন্নয়ন
একজন দক্ষ ডেটা সায়েন্টিস্ট হলেন তিনি যার সফ্টওয়্যার ইঞ্জিনিয়ারদের থেকে পরিসংখ্যানে ভালো দক্ষতা আছে এবং পরিসংখ্যানবিদদের চেয়ে সফ্টওয়্যার ইঞ্জিনিয়ারিং এ বেশী পারদর্শী। অর্থাৎ আপনাকে দুটি বিষয়েই ভারসাম্যপূর্ণ জ্ঞান রাখতে হবে। কোনো একটিতে বিশেষজ্ঞ হওয়ার প্রয়োজন নেই বরং দুটিতেই বেসিক বিষয়ে ধারণা অর্জন করবেন। ডেটা সায়েন্সে মেশিন লার্নিং একটু জটিল ও গুরুত্বপূর্ণ বিষয়। এটি মূলত ডেটা মডেলিং নিয়ে কাজ করে অর্থাৎ অ্যালগোরিদম ব্যবহার করে ডেটা বিন্যাস, ডেটার ধরণ আবিষ্কার ও গণনা করে থাকে। ফলে একটু সময় নিয়ে মেশিন লার্নিং আয়ত্বে আনতে হবে।
♦ প্রোগ্রামিং শেখা
দক্ষ ডেটা সায়েন্টিস্ট হতে হলে কম্পিউটারের প্রোগ্রামিং সম্পর্কে ধারণা অর্জনের বিকল্প নেই। তবে এটা মূলত স্ট্যাটিসটিক্যাল প্রোগ্রামিং জানতে হবে। এর জন্য R বা SAS বা Python এর যে কোনোটি কিংবা একাধিক ল্যাঙ্গুয়েজ সম্পর্কে জ্ঞান নিতে হবে।
♦ ডাটাবেইজ সম্পর্কে জ্ঞান অর্জন
ডেটা সায়েন্টিস্টদের কাজের প্রথম ধাপ হলো ডেটাবেইজ থেকে ডেটাকে যাচাই-বাছাই করে এনে তারপর কাজ করা। ডেটাবেইজে বিপুল পরিমাণ ডেটা স্টোর করা থাকে। কোনো একটি বিষয় নিয়ে কাজ করতে সব ডেটার দরকার হয় না। শুধু দরকারি ভ্যারিয়েবলগুলোকে নিয়ে মূল ডেটার একটি সাবসেট করে কাজ করতে হয়। সেজন্য কোয়েরি ল্যাংগুয়েজ জানতে হয়। MySQL, Postgres, MongoDB ও Cassandra এগুলোর মধ্য থেকে যেকোনো একটি শিখে আপনি ডেটাবেইজ থেকে ডেটা এনালাইসিস করতে পারবেন।
♦ বিগ ডেটা নিয়ে কাজ করতে শেখা
ডেটা সায়েন্টিস্টদের প্রায়ই অনেক বড় বড় ডেটা নিয়ে কাজ করতে হয়। কত বড় ডেটা হলে সেটাকে বিগ ডেটা বলা যায় তার কোনো সংজ্ঞা নেই। তবে যে ডেটা সাধারণ কনজিউমার লেভেলের কম্পিউটার দিয়ে এনালাইজ করা যায় না সেই ডেটাকে বিগ ডেটা বলা যায়। ডেটা সায়েন্টিস্ট হতে হলে বিভিন্ন বিগ ডেটাপ্রযুক্তি যেমন Hadoop, MapReduce, Apache Spark, Hive ও Pig ইত্যাদি বিষয়ে জ্ঞান অর্জন করতে হবে।
♦ কোড শেখা
কোড হচ্ছে ডেটা প্রকাশের মাধ্যম তাই ডেটার ভাষা তথা কোড না শিখে দক্ষ ডেটা সায়েন্টিস্ট হওয়ার কথা কল্পনাও করা যায় না। বলা হয় যে, একজন ভালো কোডার একজন দক্ষ ডেটা সায়েন্টিস্ট নাও হতে পারে কিন্তু একজন ভালো ডেটা সায়েন্টিস্ট অবশ্যই একজন দক্ষ কোডার হবেন।
♦ ডেটা ম্যানিপুলেশন ক্লিনিং ও ভিজুয়ালাইজেশন
ডেটা কোয়েরি করার পর সেটাকে সাইজ করতে হবে। এটাকে বলে ডেটা প্রিপারেশন বা ক্লিনিং। কিভাবে ক্লিন করতে হবে সেটা নির্ভর করবে কী প্রশ্নের উত্তর খোঁজা হচ্ছে তার উপর। আগে থেকে এসব স্থির করা থাকলে ডেটা ক্লিনিং এ সময় কম নষ্ট হয়। ডেটা ক্লিনিং কে মূলত ডেটা ম্যানেজিংও বলে। ডেটা ক্লিনিং এর জন্য দুইটা জনপ্রিয় প্যাকেজ হলো dplyr এবং data.table।
ডেটা ভিজুয়ালাইজেশনের জন্য ggviz প্যাকেজ আছে। আর কমার্শিয়াল সফটওয়্যারের মধ্যে ট্যাবলো খুবই জনপ্রিয়। এদের ফ্রি ভার্সনও আছে সেটাকে বলে কমিউনিটি এডিশন। ট্যাবলো একটি অতি জনপ্রিয় সফটওয়্যার যেটি ইন্ডাস্ট্রিতে ব্যাপকভাবে ব্যবহৃত হয়। এটি শেখা থাকলে আপনার রেজুমে অনেক শক্ত হবে।
♦ কমিউনিকেশনের দক্ষতা বৃদ্ধি
শ্রেষ্ঠ ডেটা সায়েন্টিস্ট ও সাধারণ ডেটা সায়েন্টিস্টের মধ্যে পার্থক্য নির্ভর করে কমিউনিকেশন দক্ষতার উপর। আপনার কমিউনিকেশন স্কিল যত শক্ত হবে আপনি তত সামনে এগিয়ে যেতে পারবেন। আপনাকে শুধু ঘরে আবদ্ধ হয়ে ডেটা নিয়ে বিশ্লেষণ করলেই হবে না, বরং বিভিন্ন প্রতিষ্ঠানের সাথে যোগাযোগ রক্ষা করতে হবে এবং ডেটা বিশ্লেষণের সময় কোনো অসঙ্গতির সম্মুখীন হলে তা কিভাবে মোকাবেলা করতে হবে সেটাও রপ্ত করতে হবে, তবেই আপনি একজন দক্ষ ডেটা সায়েন্টিস্ট হিসেবে নিজেকে প্রতিষ্ঠিত করতে পারবেন।
♦ সর্বত্র জ্ঞান অন্বেষণ
একজন ডেটা সায়েন্টিস্টকে তার কাজ চালিয়ে নিয়ে যেতে অনেকের সাথেই পরিচয় ঘটে থাকে। সবাই সব দিকে দক্ষ হয় না, যদি প্রত্যেকের কাজের ধরণ পর্যবেক্ষণ করে, ভালো ভালো টেকনিকগুলো শিখে নেওয়া যায় তবে তখন সে একজন বৈচিত্র্যময় ডেটা সায়েন্টিস্ট হিসেবে তার আত্মপ্রকাশ ঘটাতে পারবে। তাই আপনি যদি দক্ষ হতে চান, তবে আপনার সবকিছু থেকেই জ্ঞান অন্বেষণের মানুষিকতা থাকতে হবে।
♦ ছোট ছোট প্রজেক্টে কাজ করার মাধ্যমে বাস্তব অনুশীলন চর্চা ও অভিজ্ঞতা অর্জন
শুধু ডেটা সায়েন্সের নিয়ম -কানুন শিখলেই হবে না বরং বাস্তবে অনুশীলন করতে হবে, নতুবা আপনি নিজেকে কর্মস্থলে টিকিয়ে রাখতে ব্যর্থ হবেন। এজন্য আপনাকে ছোট ছোট প্রজেক্টের কাজগুলো করতে হবে এবং কোনো প্রতিযোগিতায় অংশগ্রহণের সুযোগ আসলে সেই সুযোগের যথাযথ সদ্ব্যবহার করতে হবে। এতে একদিকে আপনার হাতে কলমে ডেটা সায়েন্স শেখা হবে এবং অভিজ্ঞতাও অর্জন হবে, যা আপনাকে কর্মক্ষেত্রে অন্যদের চেয়ে এগিয়ে রাখবে।
♦ নিজেকে আপডেটেড রাখা এবং ডেটা সায়েন্স কমিউনিটিতে যুক্ত থাকা
ডেটার দুনিয়া সম্পর্কে খবরা-খবর রাখতে হবে। ডেটা সায়েন্স দ্রুত পরিবর্তনশীল একটি বিষয়। এখানে প্রতিনিয়ত নতুন জিনিস যোগ হচ্ছে। তাই মার্কেটে টিকে থাকতে হলে নিজেকে সবসময় আপডেটেড রাখতে হবে। আজকের ডেটা কালকেই পুরনো হয়ে যেতে পারে। এখন তথ্য প্রযুক্তির যুগ তাই আপনি খুব সহজেই ডেটা সায়েন্স কমিউনিটির সাথে যুক্ত থাকতে পারেন, আর আপনাকে অবশ্যই যুক্ত থাকতে হবে, যদি আপনি একজন দক্ষ ও যোগ্য ডেটা সায়েন্টিস্ট হিসেবে নিজেকে প্রমাণ করতে চান।
ধাপগুলো একজন দক্ষ ডেটা সায়েন্টিস্ট হবার জন্য যথেষ্ট সে বিষয়ে আমি আশাবাদী। যদি আপনি যথার্থ ভাবে অনুসরণ করেন এবং কাজের প্রতি ভালোবাসা প্রদর্শন করতে পারেন, তবে আপনিই হয়ে উঠতে পারেন যুগের সেরা ডেটা সায়েন্টিস্ট।
বহুল প্রচলিত প্রশ্নসমূহঃ-
আমার তো প্রোগ্রামিং- এ শক্ত ভিত্তি নাই তাহলে কি ডেটা সায়েন্টিস্ট হতে পারবো না?
অবশ্যই পারবেন যদি আপনার এনালাইটিক মাইন্ড থাকে।একজন দক্ষ ডেটা সায়েন্টিস্ট হবার জন্য যদিও প্রোগ্রামিং শেখা অপরিহার্য। তবে মনে রাখবেন, প্রোগ্রামিং জানতেই হবে এমন নয়। ডেটা সায়েন্স ইন্টারডিসিপ্লিনারি বিষয়। আপনি বিষয়ভিত্তিক জ্ঞানের অভিজ্ঞতা দিয়ে ডেটা সায়েন্স টিমে গুরুত্বপূর্ণ ভূমিকা রাখতে পারেন।
পরিসংখ্যান কি জানা লাগবেই?
নির্ভর করে আপনার রোল কী হবে তার উপর। এনালাইটিক কাজ করতে চাইলে পরিসংখ্যানের ধারণা থাকতে হবে। কলেজ (দ্বাদশ শ্রেনী) লেভেলের পরিসংখ্যানের জ্ঞান দিয়ে হয়তো হবে না, বিশ্ববিদ্যালয় লেভেলের পরিসংখ্যানের কিছু কোর্স করা থাকলে সুবিধা হবে।
আর কী কী লাগবে?
আর লাগবে একগাদা কৌতূহল। আপনাকে হতে হবে ভীষণ কৌতূহলি। সমস্যা খুঁজে বের করা এবং তা কিভাবে ডেটা ব্যবহার করে তার সমাধান করা যায় সেরকম মনের অধিকারী হতে হবে। অনেক সময় নন-টেকনিক্যাল ব্যক্তি একজন টেকনিক্যাল ব্যক্তির চেয়ে সমস্যাকে অনেক সহজে সমাধান করতে পারেন।
এর সাথে লাগবে কমিউনিকেশনে দক্ষতা। ডেটা থেকে ইনসাইট বের করে সেটাকে সাধারণ মানুষ এবং প্রতিষ্ঠানের CEO বা Business leader দের কাছে সহজবোধ্য করে বোঝানোর সক্ষমতা থাকতে হবে।
আমার তো এর সবগুলোই মোটামুটি আছে- তাহলে?
তাহলে আপনাকেই খুঁজছে বাংলাদেশ।আপনাকেই খুঁজছে বিশ্ব। আপনিই ডেটা সায়েন্টিস্ট।