সাইকিট-লার্ন 'এস্টিমেটর'

আগেই বলেছি - সাইকিট-লার্ন এর কনভেনশন অনুযায়ী মডেলকে "এস্টিমেটর" বলা হয়। মডেল তৈরি করতে ইভ্যালুয়েশন ধারণাটা আগে থেকে জানা ভালো। তো - কোনটা করবো?

ধরে নিচ্ছি, আমরা এক নম্বর ‘মানা করা’ কাজটাই করব। মেশিন লার্নিং শিখতে সবদিকেই চেষ্টা করবো। কোন মানা মানবো না। চলে যাই সাইকিট-লার্নে। এখন থেকে যে কাজগুলো করব সেগুলো আগের চ্যাপ্টারের দুটো জিনিসের জন্য প্রযোজ্য। পুরো ডাটাসেট অথবা ভাগ করে। এখন সাইকিট-লার্নের ‘এস্টিমেটর’ এপিআই নিয়ে একটু আলাপ করি। সাইকিট-লার্ন এর কনভেনশন অনুযায়ী মডেলকে "এস্টিমেটর" বলা হয়। এর এপিআইকে ডিজাইন করা হয়েছে নিচের কয়েকটা ধারণাকে মাথায় রেখে।

১. এর প্রতিটা অবজেক্ট নিজেদের মধ্যে একটা কমন ইন্টারফেস ব্যবহার করে। ব্যাপারটা খুবই ‘কনসিস্টেন্ট’। এই ইন্টারফেসের মেথডগুলোর সংখ্যা বেশি নয়। আমার দেখামতে - এর ডকুমেন্টগুলো কাজের সাথে সামঞ্জস্যপূর্ণ।

২. অবজেক্টগুলোর সাথে দেওয়া প্যারামিটারগুলোর মান পাবলিক ‘অ্যাট্রিবিউট’ হিসেবে খুলে (ওপেন) দেওয়া আছে।

৩. আমাদের সাইকিট-লার্নের মেশিন লার্নিং অ্যালগরিদমগুলো এর ভেতরে পাইথন ক্লাস হিসেবে আছে। ডাটাসেটগুলো আছে স্ট্যান্ডার্ড ফরম্যাটে। স্ট্যান্ডার্ড ফরম্যাট মানে নামপাই অ্যারে, পান্ডাজ ডাটাফ্রেম হিসেবে আছে। মনে আছে আগের কথা? এর প্যারামিটার এর নামগুলো স্ট্যান্ডার্ড পাইথন স্ট্রিং ব্যবহার করে। উদাহরণ দেখলেই বুঝবেন।

৪. সব ধরনের মেশিন লার্নিং কাজগুলোকে একটা সিকোয়েন্স অনুযায়ী চালানো যায়। সাইকিট-লার্ন সেটাকে ‘ফলো’ করে। বহুল প্রচলিত অ্যালগরিদমগুলোর জন্য একই জিনিস প্রযোজ্য। আমাদের নতুন করে কিছু শিখতে হবে না।

৫. মডেলের যখন ইউজার ‘স্পেসিফাইড’ প্যারামিটার (হাইপার প্যারামিটার) এর দরকার পড়ে, সাইকিট-লার্ন নিজে থেকে সেগুলোর ডিফল্ট ভ্যালু ব্যবহার করে। অসাধারণ একটা ফিচার না?

আসলেই অসাধারণ। আর সে কারণেই সাইকিট-লার্ন এর ‘এস্টিমেটর’ এপিআইকে ব্যবহার করা খুবই সহজ। যখন এর কাজ করার ধারাটা বুঝে যাবেন তখন সাইকিট-লার্ন ‘এস্টিমেটর’ দিয়ে কাজ করা পানির মতো সোজা। একটা কথা মনে রাখবেন, প্রতিটা মেশিন লার্নিং অ্যালগরিদমকে ব্যবহার করতে হলে আমাদেরকে যেতে হবে ‘এস্টিমেটর’ এপিআই হয়ে। এর ফলে প্রতিবারই সবকিছুর জন্য আপনি এক ধরনের ইন্টারফেস পাবেন। নতুন কিছু শেখার চ্যালেঞ্জ নেই। যে ধরনেরই মেশিন লার্নিং অ্যাপ্লিকেশন চালান না কেন সবার সাথে সুন্দর মত কাজ করে এই 'এপিআই'। আমি এপিআইকে দেখি ভবিষ্যৎ সবকিছুর ইন্টারফেস হিসেবে। গুগল করুন "rest api"। পৃথিবী অনেক এগিয়ে গিয়েছে।