বিভিন্ন ভেরিয়েবল, ফিল্ড টাইপ নিয়ে কিছু ধারনা

মনে আছে ডাটার সংজ্ঞার কথা?

Data is comprised of values of qualitative or quantitative variables belonging to a set of items.

আগের অনেকগুলো আলাপে আমরা দেখেছিলাম কিভাবে ‘কোয়ালিটেটিভ’ (গুনগত) ভ্যারিয়েবেল এবং ‘কোয়ান্টিটেটিভ’ (সংখ্যায়, যেটাকে যোগ, বিয়োগ, গুন, ভাগ ইত্যাদি করা যায়) ভেরিয়েবলকে আলাদা করা যায়। এখানে ‘কোয়ালিটেটিভ’ ভেরিয়েবল হচ্ছে সেগুলো - যা সংখ্যা দিয়ে মাপা যায় না। বিশেষ করে কিছু কিছু ক্যাটাগরি, অথবা নাম, জায়গার নাম ইত্যাদি। এর পাশাপাশি সংখ্যায় যেটাকে মাপা যায় সেটাকে ‘কোয়ান্টিটেটিভ’ ভেরিয়েবল বলছি। আমরা যখন এই আইটেমগুলোকে একটা ডাটাসেটে যোগ করি - সেখানে এ ধরনের কোয়ালিটেটিভ ভ্যারিয়েবল একই বৈশিষ্ট্যের কোয়ালিটেটিভ ফিল্ড (অথবা কলাম বলতে পারি) এবং কোয়ান্টিটেটিভ ভেরিয়েবলগুলো সেই একই কোয়ান্টিটেটিভ ফিল্ড অথবা কলামে পৌঁছায়। বোঝার জন্য আমরা কি এর আগের টেবিলটা দেখতে পারি?

টেবিল ছবি

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

আমাদের আগের টেবিলে যেমন ‘মানুষের নাম’ এবং ‘পছন্দের খাবার’ হচ্ছে কোয়ালিটেটিভ ফিল্ড যেগুলোকে সংখ্যায় মাপা যায় না। এর পাশাপাশি ‘বয়স’ এবং উচ্চতা হচ্ছে কোয়ান্টিটেটিভ যাকে সংখ্যায় মাপা যায়। আমরা চিন্তা করছি যে, কিভাবে এই কোয়ান্টিটেটিভ এবং কোয়ালিটিটিভ ভ্যারিয়েবেলগুলো নিয়ে আমাদের বোঝাপড়া শুরু হতে পারে। এখন আমাদের দেখতে হবে, এই ভ্যারিয়েবলগুলোকে আরো কি কি ভাবে ক্লাসিফাই করা যায়?

এর পাশাপাশি কোয়ান্টিটেটিভ ভ্যারিয়েবল - যেগুলোকে সংখ্যায় ভাগ করা যায় - যেটাকে আমরা টাকা, মাসের সংখ্যা, উচ্চতা, ওজন ইত্যাদিতে ফেলা যেতে পারে। একটা ডাটাসেটে গুণগত মানের ভ্যারিয়েবলগুলো সাধারণত সেই ধরনের বৈশিষ্ট্যের কলাম হিসেবে দাঁড়ায় - যা মানুষ সরাসরি ভেরিয়েবল গুলোর নাম দেখেই বুঝতে পারে। এর পাশাপাশি, সংখ্যার মান নিয়ে যেমন বয়স, ওজন, উচ্চতা সেগুলো ভিন্ন ধরনের কলাম হয়ে থাকে এবং এগুলো সংখ্যায় থাকে। কেন একই কথা বারবার বলছি, বলুনতো? এই বেসিকগুলো ঠিকমতো বুঝলে - সামনে আমাদের কাজ সহজ হয়ে যাবে, বিশেষ করে ভিডিও লেকচারে।

এখন ফিরে আসি, নমিনাল কোয়ালিটেটিভ ভেরিয়েবল নিয়ে আলাপে। এটা এমন ধরনের ভেরিয়েবল অর্থাৎ ক্যাটাগরি - যেগুলোকে আলাদাভাবে একটার সাথে আরেকটার রেংকিং অর্থাৎ কোনটা উপরে বা কোনটা নিচে সেটাকে ভাগ করা যায় না। উদাহরণ হিসেবে আমরা যদি বেশ কয়েকটা ফলের নাম বলি - যেমন কলা, আনারস, আম, কাঁঠাল - এগুলোকে আমরা নমিনাল ভ্যালু বলি কারণ এগুলোর মধ্যে কোন ধরনের রেংকিং স্ট্রাকচার করা যায় না। কোনটা উপরে বা কোনটা নিচে এ ধরনের কোনো ব্যাপার নেই এই নমিনাল কোয়ালিটেটিভ ভ্যারিয়েবেলগুলোতে। আমরা যদি সাধারণভাবে এটাকে মনে রাখতে চাই তাহলে এ ধরনের নমিনাল ভ্যারিয়েবেলগুলোকে আমরা নাম হিসাবে উল্লেখ করতে পারি - যেখানে কেউ কারো থেকে উপরে না।

অর্ডিনাল কোয়ালিটিটিভ ভ্যারিয়েবল

নমিনাল কোয়ালিটিটিভ ভেরিয়েবল এবং অর্ডিনাল ভেরিয়েবলের মধ্যে একটা বড় পার্থক্য আছে। কি হতে পারে সেটা? এগুলোকে রেংকিং অর্থাৎ কোনটা একটার উপরে বা কোনটা আরেকটার নিচে সেটা বলে দেওয়া যায়। তারা কোয়ালিটেটিভ, তবে তাদেরকে সংখ্যায় প্রকাশ করা যায় না। উদাহরন হিসেবে আমরা বিভিন্ন সার্ভেতে কোন সার্ভিস নিয়ে আলাপ করতে গেলে “মোটেই খুশি না”, “অল্প খুশি”, “মোটামুটি”, “বেশ ভালো” অথবা “অসাধারণ সার্ভিস” এরকম দেওয়া হলে তখন সেগুলোকে অর্ডিনাল কোয়ালিটেটিভ ভ্যালু হিসেবে ধরা যেতে পারে। এটাকে মনে রাখার সবচেয়ে ভালো উপায় হচ্ছে অর্ডিনাল মানে অর্ডারলি ফ্যাশন অর্থাৎ এটাকে রেংকিং করা যায়। তবে, বিভিন্ন মেশিন লার্নিং মডেল এ আমরা এধরণের রেংকিংকে নিউমেরিক ভ্যালু অর্থাৎ সংখ্যায় কনভার্ট করে নেই যাতে খুবই খারাপ অবস্থা কে “০” এবং “অত্যন্ত খুশি”কে ১০ নাম্বার দিয়ে কনভার্ট করে দেওয়া যায়।

আচ্ছা একটা বাসায় বাচ্চাদের সংখ্যা কি হতে পারে? কোয়ান্টিটেটিভ ভেরিয়েবল।