Features কী? (What are Features?)
সহজ সংজ্ঞা
Feature হলো একটি জিনিসের বৈশিষ্ট্য বা গুণ, যা Machine Learning Model-কে সিদ্ধান্ত নিতে সাহায্য করে।
বাস্তব জীবনের উদাহরণ দিয়ে বোঝা যাক
মনে করো তুমি একটি বাসা কিনতে চাও। তুমি কোন কোন বিষয় দেখো?
তুমি যা দেখো (মানুষ)
📐 বাসার আয়তন কত?
🛏 কতটি বেডরুম?
📍 কোথায় অবস্থিত?
🏗 বয়স কত বছর?
🚗 পার্কিং আছে কি?
Machine কী দেখে
এই প্রতিটি প্রশ্নের উত্তরই একটি Feature। Machine ঠিক এই তথ্যগুলো ব্যবহার করে বাসার দাম অনুমান করে।
আরও বাস্তব উদাহরণ
| পরিস্থিতি | Features (বৈশিষ্ট্য) | সিদ্ধান্ত (Target) |
|---|---|---|
| ডাক্তার রোগী দেখছেন | বয়স, রক্তচাপ, জ্বরের মাত্রা, লক্ষণ | রোগের নাম |
| ব্যাংক লোন দেবে কি না | আয়, চাকরির ধরন, বয়স, আগের ঋণ | লোন অনুমোদন / বাতিল |
| ইমেইল Spam কি না | শব্দ, প্রেরক, লিঙ্ক সংখ্যা, বিষয়বস্তু | Spam / Not Spam |
| ছাত্রের রেজাল্ট | উপস্থিতি, পরীক্ষার নম্বর, পড়ার সময় | পাস / ফেল |
| Netflix সিনেমা সুপারিশ | আগে দেখা সিনেমা, রেটিং, ঘরানা | পরবর্তী সিনেমা |
Machine কীভাবে Features দিয়ে সিদ্ধান্ত নেয়?
একটি শিশু যেভাবে শেখে, Machine-ও সেভাবেই শেখে:
কাঁচা তথ্য
বৈশিষ্ট্য
প্রশিক্ষণ
সিদ্ধান্ত
মনে রাখো: Features ছাড়া Machine Learning সম্ভব না। যত ভালো Feature, তত ভালো Model!
Features-এর প্রকারভেদ
১. Numerical Features (সংখ্যাসূচক বৈশিষ্ট্য)
যেসব Feature সংখ্যা দিয়ে প্রকাশ করা যায় এবং যোগ-বিয়োগ করা সম্ভব।
১ক. Continuous Features (অবিচ্ছিন্ন)
সংজ্ঞা: যেসব মান যেকোনো দশমিক সংখ্যা হতে পারে — যেমন ওজন ৬৫.৩ কেজি হতে পারে।
| উদাহরণ | মান |
|---|---|
| উচ্চতা | ৫.৭৩ ফুট |
| তাপমাত্রা | ৩৭.২°C |
| বেতন | ৪৫,৫০০ টাকা |
| বাসার আয়তন | ১৪৫০.৫ sqft |
| পরীক্ষার নম্বর | ৭৮.৫ / ১০০ |
১খ. Discrete Features (বিচ্ছিন্ন)
সংজ্ঞা: যেসব মান পুরো সংখ্যা হয় এবং দশমিক হয় না — যেমন বেডরুম ২.৫টি হয় না।
| উদাহরণ | মান |
|---|---|
| বেডরুম সংখ্যা | ২, ৩, ৪ |
| সন্তান সংখ্যা | ০, ১, ২, ৩ |
| বয়স (বছর) | ২৫, ৩০, ৪৫ |
| গাড়ির সংখ্যা | ০, ১, ২ |
| বই পড়া | ৫, ১০, ২০ |
২. Categorical Features (শ্রেণীভিত্তিক বৈশিষ্ট্য)
যেসব Feature নাম বা গ্রুপ দিয়ে প্রকাশ করা হয়, সংখ্যা দিয়ে নয়।
২ক. Nominal Features (নামসূচক)
সংজ্ঞা: শ্রেণীগুলোর মধ্যে কোনো ক্রম নেই — লাল কি নীলের চেয়ে বড়? না!
| Feature | মান |
|---|---|
| রক্তের গ্রুপ | A, B, AB, O |
| রঙ | লাল, নীল, সবুজ |
| শহর | ঢাকা, চট্টগ্রাম, রাজশাহী |
| পেশা | ডাক্তার, শিক্ষক, প্রকৌশলী |
| মোবাইল ব্র্যান্ড | Samsung, Apple, Xiaomi |
২খ. Ordinal Features (ক্রমসূচক)
সংজ্ঞা: শ্রেণীগুলোর মধ্যে একটি নির্দিষ্ট ক্রম আছে — Excellent > Good > Poor
| Feature | মান (ক্রম অনুযায়ী) |
|---|---|
| শিক্ষার স্তর | SSC < HSC < গ্র্যাজুয়েট |
| হোটেল রেটিং | ★ < ★★ < ★★★★★ |
| সন্তুষ্টি | খারাপ < মাঝারি < ভালো < চমৎকার |
| পদমর্যাদা | Junior < Mid < Senior |
| ব্যথার মাত্রা | হালকা < মাঝারি < তীব্র |
৩. Date & Time Features (তারিখ ও সময়)
সংজ্ঞা: তারিখ বা সময়সম্পর্কিত তথ্য। Machine Learning-এ এগুলো সরাসরি ব্যবহার না করে বিভিন্নভাবে ভেঙে ব্যবহার করা হয়।
| মূল তারিখ | Feature হিসেবে ব্যবহার | ML-এ কাজে লাগে |
|---|---|---|
| 01-01-2024 | বছর = 2024, মাস = 1, দিন = 1 | মৌসুমী বিক্রয় বিশ্লেষণ |
| রবিবার | সাপ্তাহিক দিন = 0 | সপ্তাহের কোনদিন বেশি বিক্রি হয় |
| বিকাল ৫টা | ঘণ্টা = 17, রাত না দিন | ট্রাফিক জ্যাম পূর্বাভাস |
| ঈদের দিন | ছুটি = হ্যাঁ (1) | বাজারে কেনাকাটার হার |
৪. Text Features (টেক্সট বৈশিষ্ট্য)
সংজ্ঞা: যেকোনো লেখা বা বাক্য। Machine এটি সরাসরি বুঝতে পারে না, তাই সংখ্যায় রূপান্তর করতে হয়।
| Text Feature | উদাহরণ | ML-এ কাজে লাগে |
|---|---|---|
| পণ্যের রিভিউ | "এই পণ্যটি অসাধারণ!" | Sentiment Analysis |
| ইমেইলের বিষয় | "আপনি ১ কোটি টাকা জিতেছেন!" | Spam Detection |
| চাকরির বিজ্ঞাপন | "Software Engineer চাই" | চাকরি শ্রেণীকরণ |
| সংবাদ শিরোনাম | "ঢাকায় বৃষ্টি" | বিভাগ নির্ধারণ |
৫. Boolean / Binary Features (হ্যাঁ/না বৈশিষ্ট্য)
সংজ্ঞা: শুধুমাত্র দুটি মান থাকে — হ্যাঁ বা না, ১ বা ০, সত্য বা মিথ্যা।
| Feature | হ্যাঁ (১) | না (০) | ব্যবহার |
|---|---|---|---|
| গ্যারেজ আছে? | গ্যারেজ আছে | গ্যারেজ নেই | বাসার দাম |
| ডায়াবেটিস আছে? | আছে | নেই | রোগ নির্ণয় |
| বিবাহিত? | বিবাহিত | অবিবাহিত | লোন অনুমোদন |
| প্রিমিয়াম সদস্য? | হ্যাঁ | না | গ্রাহক ধরে রাখা |
সারসংক্ষেপ: Features মূলত ৫ ধরনের — Numerical (Continuous, Discrete), Categorical (Nominal, Ordinal), Date/Time, Text, এবং Boolean।
Features বনাম Target
Feature (বৈশিষ্ট্য)
যা আমরা Model-কে দিই। এটি Input।
এর উপর ভিত্তি করে Model শেখে।
Target (লক্ষ্য)
Model যা ভবিষ্যদ্বাণী করে। এটি Output।
আমরা এটি জানতে চাই।
উদাহরণ ১: বাসার দাম নির্ধারণ
| Column | ধরন | কেন? | |
|---|---|---|---|
| Feature | বাসার আয়তন (sqft) | Continuous Numerical | এটি Input — দাম নির্ধারণে সাহায্য করে |
| Feature | বেডরুম সংখ্যা | Discrete Numerical | এটি Input — দাম নির্ধারণে সাহায্য করে |
| Feature | এলাকার নাম | Nominal Categorical | এটি Input — দাম নির্ধারণে সাহায্য করে |
| Feature | বাসার বয়স (বছর) | Continuous Numerical | এটি Input — দাম নির্ধারণে সাহায্য করে |
| Target | বাসার দাম (লক্ষ টাকা) | Continuous Numerical | এটি Output — আমরা এটি জানতে চাই! |
উদাহরণ ২: ছাত্রের ফলাফল
| Column | ধরন | |
|---|---|---|
| Feature | উপস্থিতি (%) | Continuous |
| Feature | প্রতিদিন পড়ার ঘণ্টা | Continuous |
| Feature | মিড পরীক্ষার নম্বর | Continuous |
| Feature | টিউশন নেওয়া হয়? | Boolean |
| Target | পাস / ফেল | Boolean (Output) |
উদাহরণ ৩: Customer Churn (গ্রাহক হারানো)
| Column | ধরন | |
|---|---|---|
| Feature | গ্রাহকের বয়স | Discrete |
| Feature | প্রতি মাসে বিল | Continuous |
| Feature | সার্ভিসের মাস | Discrete |
| Feature | অভিযোগ সংখ্যা | Discrete |
| Target | চলে যাবে? (হ্যাঁ/না) | Boolean (Output) |
সহজ নিয়ম: যা দিয়ে আমরা সিদ্ধান্ত নিই = Feature। যে সিদ্ধান্তটি নিই = Target।
Feature Engineering
Feature Engineering মানে হলো — বিদ্যমান তথ্য থেকে নতুন, আরও তথ্যবহুল Feature তৈরি করা যা Model-কে আরও ভালো শিখতে সাহায্য করে।
বাস্তব জীবনের উপমা
রান্নার উপমা
কাঁচা সবজি হলো Raw Data। সেগুলো কেটে, রান্না করে, মশলা দিয়ে সুস্বাদু খাবার বানানোই হলো Feature Engineering।
সোনার উপমা
মাটি থেকে কাঁচা সোনা বের করা হলো Data Collection। সেই সোনা গলিয়ে গহনা বানানোই Feature Engineering।
উদাহরণ ১: বাসার Dataset
| কাঁচা তথ্য (Raw Data) | → | তৈরি করা Feature (Engineered) | কেন উপকারী? |
|---|---|---|---|
| জন্মতারিখ: 1985-03-12 | → | বয়স: ৩৯ বছর | সরাসরি ব্যবহারযোগ্য সংখ্যা |
| নির্মাণ সাল: 2010 | → | বাসার বয়স: ১৪ বছর | পুরনো বাসার দাম কম |
| দৈর্ঘ্য: ৩০ ফুট, প্রস্থ: ২০ ফুট | → | আয়তন: ৬০০ sqft | আলাদা দুটি সংখ্যার চেয়ে একটি ভালো |
| মোট রুম: ৬, বেডরুম: ৩ | → | ননবেডরুম রুম: ৩ | বাথরুম+রান্নাঘর সংখ্যা বোঝা যায় |
উদাহরণ ২: Sales Dataset
| কাঁচা তথ্য | → | তৈরি করা Feature | উদ্দেশ্য |
|---|---|---|---|
| বিক্রির তারিখ: 2024-12-25 | → | মাস=12, ঈদ/উৎসব=হ্যাঁ | মৌসুমী বিক্রয় ধরা |
| মোট বিক্রয়: ১০,০০০ টাকা, পরিমাণ: ১০০ | → | প্রতি পণ্যের দাম: ১০০ টাকা | মূল্য বিশ্লেষণ |
| গত সপ্তাহের বিক্রয়: ৮,০০০ | → | বিক্রয় বৃদ্ধি: +২৫% | ট্রেন্ড বোঝা |
উদাহরণ ৩: Customer Dataset
| কাঁচা তথ্য | → | তৈরি করা Feature |
|---|---|---|
| প্রথম কেনার তারিখ: ২০২০ | → | গ্রাহক কতদিন ধরে: ৪ বছর |
| মোট ক্রয়: ৫০,০০০, বার: ২০ | → | গড় ক্রয়: ২,৫০০ টাকা |
| শেষ কেনার তারিখ | → | শেষ কেনার কতদিন আগে: ৯০ দিন |
উদাহরণ ৪: Date Column Engineering
| তারিখ | বছর | মাস | দিন | সপ্তাহের দিন | ত্রৈমাসিক | ছুটি? |
|---|---|---|---|---|---|---|
| 2024-01-01 | 2024 | 1 | 1 | সোমবার | Q1 | হ্যাঁ |
| 2024-06-15 | 2024 | 6 | 15 | শনিবার | Q2 | না |
| 2024-12-31 | 2024 | 12 | 31 | মঙ্গলবার | Q4 | হ্যাঁ |
কেন Feature Engineering দরকার? একটি ভালো Engineered Feature মাঝে মাঝে Model-এর কার্যকারিতা ৩০-৫০% বাড়িয়ে দিতে পারে!
Feature Representation
মানুষ যেভাবে ডেটা দেখে (Human-Readable)
| ছাত্রের নাম | বয়স | উপস্থিতি (%) | পড়ার ঘণ্টা | পাস/ফেল |
|---|---|---|---|---|
| রাহেলা | ১৮ | ৯০ | ৬ | পাস |
| করিম | ১৯ | ৬০ | ২ | ফেল |
| সুমাইয়া | ২০ | ৮৫ | ৫ | পাস |
| তানভীর | ১৭ | ৪৫ | ১ | ফেল |
নাম, শব্দ, ছবি
Encoding
শুধু সংখ্যা
Machine যেভাবে দেখে (Feature Matrix X এবং Target Vector y)
গুরুত্বপূর্ণ শব্দগুলো বোঝা
| ML শব্দ | সহজ মানে | উদাহরণ |
|---|---|---|
| Row (সারি) | একটি সম্পূর্ণ নমুনা বা রেকর্ড | একজন ছাত্রের সব তথ্য |
| Column (কলাম) | একটি বৈশিষ্ট্য | শুধু বয়সের কলাম |
| Feature (X) | Input চলক | বয়স, উপস্থিতি, পড়ার ঘণ্টা |
| Feature Matrix | সকল Features-এর সমন্বয় | X = সকল Input কলাম |
| Target Vector (y) | Output কলাম | পাস/ফেল |
| Sample / Instance | একটি সারি = একটি উদাহরণ | রাহেলার তথ্য = ১টি sample |
মনে রাখো: Machine কখনো "রাহেলা" বোঝে না। সে শুধু [18, 90, 6] বোঝে। তাই সব তথ্যকে সংখ্যায় রূপান্তর করতে হয়।
Good Features বনাম Bad Features
ভালো Feature-এর বৈশিষ্ট্য
প্রাসঙ্গিকতা
Target-এর সাথে সরাসরি সম্পর্ক আছে
পরিমাপযোগ্যতা
সঠিক ও নির্ভরযোগ্যভাবে মাপা যায়
স্বাধীনতা
অন্য Feature-এর উপর নির্ভর করে না
তথ্যবহুলতা
Model শিখতে নতুন কিছু পায়
সহজলভ্যতা
বাস্তবে সংগ্রহ করা সম্ভব
সামঞ্জস্যতা
সব সারিতে একই ফরম্যাটে আছে
বিস্তারিত তুলনা
| ভালো Feature (Good) | খারাপ Feature (Bad) | কারণ |
|---|---|---|
| বাসার আয়তন (sqft) | বাসার ID নম্বর | ID শুধু পরিচয়, দামের সাথে সম্পর্ক নেই |
| রক্তচাপ | রোগীর নাম | নাম রোগ নির্ণয়ে কোনো কাজে আসে না |
| পড়ার ঘণ্টা / দিন | ছাত্রের রোল নম্বর | রোল নম্বর ফলাফল নির্ধারণ করে না |
| শেষ কেনার কতদিন আগে | গ্রাহকের ইমেইল | ইমেইল থেকে চলে যাওয়া বোঝা যায় না |
| গড় মাসিক বিল | অ্যাকাউন্ট নম্বর | অ্যাকাউন্ট নম্বর র্যান্ডম |
| মেঘাচ্ছন্নতার মাত্রা (%) | আবহাওয়াবিদের নাম | নাম বৃষ্টি হওয়া-না-হওয়া বলে না |
| CPU তাপমাত্রা | কম্পিউটারের ক্রমিক নম্বর | Serial number র্যান্ডম সংখ্যা |
| লেনদেনের পরিমাণ | লেনদেনের সময়স্ট্যাম্প (Raw) | Raw timestamp সরাসরি কাজ করে না |
সতর্কতা: খারাপ Feature Model-এ শুধু Noise যোগ করে, accuracy কমায়, এবং training সময় বাড়ায়। বেশি Feature সবসময় ভালো না!
বাসার দাম নির্ধারণ — বিস্তারিত উদাহরণ
| Feature | ভালো / খারাপ | কারণ |
|---|---|---|
| বাসার আয়তন (sqft) | ভালো | সরাসরি প্রভাব আছে — বড় বাসা = বেশি দাম |
| বেডরুম সংখ্যা | ভালো | পরিবারের চাহিদা নির্ধারণ করে |
| এলাকার নাম (গুলশান/মিরপুর) | ভালো | অবস্থান দামের সবচেয়ে বড় কারণ |
| শহর কেন্দ্র থেকে দূরত্ব | ভালো | কম দূরত্ব = বেশি দাম |
| বাসার বয়স (বছর) | ভালো | পুরনো বাসার দাম সাধারণত কম |
| নিকটতম স্কুল/হাসপাতালের দূরত্ব | ভালো | সুবিধাজনক অবস্থান = বেশি চাহিদা |
| গ্যারেজ আছে কি না | ভালো | গ্যারেজ বাসার মান বাড়ায় |
| বাসার রঙ | খারাপ | রঙ সহজে পরিবর্তনযোগ্য, দামে প্রভাব নেই |
| মালিকের নাম | খারাপ | নাম বাসার দাম নির্ধারণ করে না |
| বাসার ID নম্বর | খারাপ | এটি শুধু পরিচয়, তথ্য নয় |
| র্যান্ডম সংখ্যা | খারাপ | কোনো অর্থ নেই, Model বিভ্রান্ত হয় |
| মালিক কতদিন আগে বাড়িটি কিনেছিলেন | মাঝামাঝি | কিছুটা প্রাসঙ্গিক তবে সরাসরি নয় |
সাধারণ শিক্ষার্থীদের ভুল
যেমন: বাসার দামকেই Feature হিসেবে ব্যবহার করা।
নিজেকে জিজ্ঞেস করো — "আমি কি এটি জানতে চাই, নাকি এটি দিয়ে জানতে চাই?"
বাসার দাম বলতে মালিকের জন্মতারিখ ব্যবহার করা।
প্রতিটি Feature-এর জন্য জিজ্ঞেস করো — "এটি কি Target-এর সাথে সরাসরি সম্পর্কিত?"
ভবিষ্যতের তথ্য Feature হিসেবে ব্যবহার। যেমন: রোগীর ডিসচার্জ তারিখ দিয়ে রোগের পূর্বাভাস।
শুধু সেই তথ্য ব্যবহার করো যা পূর্বাভাসের আগে পাওয়া যায়।
১০০টি Feature দিলে Model ভালো হবে — এই ধারণা ভুল।
কম কিন্তু মানসম্পন্ন Feature বেছে নাও। "Less is more"।
মাত্র ১-২টি Feature দিয়ে জটিল সমস্যা সমাধান করতে চাওয়া।
সমস্যার জটিলতা অনুযায়ী যথেষ্ট প্রাসঙ্গিক Feature রাখো।
Classroom Summary — রিভিশন
দ্রুত রিভিশন নোট
৫টি মূল পয়েন্ট:
১. Feature = Input তথ্য যা Model শেখার জন্য ব্যবহার করে
২. Target = যা আমরা ভবিষ্যদ্বাণী করতে চাই
৩. Feature ৫ ধরনের: Numerical, Categorical, Date/Time, Text, Boolean
৪. Feature Engineering = কাঁচা তথ্য থেকে ভালো Feature তৈরি করা
৫. Machine সব তথ্য সংখ্যা হিসেবে দেখে (Feature Matrix)
Interview / Viva প্রশ্ন
| # | প্রশ্ন | সংক্ষিপ্ত উত্তর |
|---|---|---|
| ১ | Feature কী? | ML Model-এ Input হিসেবে ব্যবহৃত তথ্যের বৈশিষ্ট্য |
| ২ | Feature ও Target-এর পার্থক্য কী? | Feature = Input (X), Target = Output (y) |
| ৩ | Continuous ও Discrete-এর পার্থক্য? | Continuous = দশমিক সম্ভব, Discrete = পূর্ণসংখ্যা |
| ৪ | Nominal ও Ordinal-এর পার্থক্য? | Nominal = কোনো ক্রম নেই, Ordinal = ক্রম আছে |
| ৫ | Feature Engineering কেন দরকার? | Raw data থেকে Model-এর জন্য আরও তথ্যবহুল Feature তৈরি করতে |
| ৬ | Data Leakage কী? | ভবিষ্যতের তথ্য Training-এ ব্যবহার করা |
| ৭ | Feature Matrix কী? | সব Features-এর সমন্বয়ে তৈরি Matrix (X) |
| ৮ | Boolean Feature-এর উদাহরণ দাও। | গ্যারেজ আছে? হ্যাঁ=১, না=০ |
MCQ প্রশ্ন
কার্ডে ক্লিক করলে উত্তর দেখাবে।
ব্যবহারিক অনুশীলন
অনুশীলন ১: তোমার শহরের একটি রেস্তোরাঁর সফলতা বা ব্যর্থতা নির্ধারণ করার জন্য ৫টি Feature এবং ১টি Target বের করো।
অনুশীলন ২: একজন ব্যক্তির বেতন নির্ধারণ করার জন্য নিচের তালিকা থেকে Features বাছাই করো: বয়স, নাম, শিক্ষাগত যোগ্যতা, জাতীয় পরিচয়পত্র নম্বর, কাজের অভিজ্ঞতা, ঠিকানা, দক্ষতা।
অনুশীলন ৩: "জন্মতারিখ: 15-06-1995" এই একটি Column থেকে কতটি নতুন Feature তৈরি করা যায়? সেগুলো লেখো।
অনুশীলন ৪: নিচের Features-গুলো কোন ধরনের সেটা বলো: (১) শরীরের তাপমাত্রা, (২) চাকরির পদমর্যাদা, (৩) বিবাহিত কি না, (৪) পণ্যের রিভিউ লেখা, (৫) সন্তান সংখ্যা।
অনুশীলন ৫ (গ্রুপ কাজ): একটি Spam Email Detection System তৈরি করতে তোমার দলকে ৮টি ভালো Feature বের করতে হবে এবং ব্যাখ্যা করতে হবে কেন সেগুলো ভালো।
পরবর্তী ক্লাসে আসছে: Feature Scaling (Normalization & Standardization), Handling Missing Values, এবং Categorical Encoding — এগুলোর জন্য আজকের পাঠ ভালোভাবে বুঝে আসো!