Home › Roadmap › Feature Engineering › Part 2

Encoding Categorical Variables

📘 One-hot, Label ও Target encoding।

🌐 One-hot, label and target encoding.

🛠️ ফিচার ইঞ্জিনিয়ারিং🎚 Beginner📍 Part 2 / 6🧩 3 সাব-টপিক
🛠️
1

ধারণা · Concept

কী এবং কেন
📘 বাংলা ব্যাখ্যা:
One-hot, Label ও Target encoding।
🌐 English:
One-hot, label and target encoding.

🗂 কোথায় পড়ে

৩. মেশিন লার্নিং → ফিচার ইঞ্জিনিয়ারিং → Encoding Categorical Variables

🎯 এই শাখার লক্ষ্য

Scale, encode, select and create features; pipelines

🧰 টুলস

scikit-learn

🪜

ধাপে ধাপে শিখুন · Step-by-step

কেন শিখবেন → কীভাবে শিখবেন → উদাহরণ → সাধারণ ভুল
💡 কেন গুরুত্বপূর্ণ?

মডেল শুধু সংখ্যা বোঝে—টেক্সট ক্যাটাগরিকে সংখ্যায় রূপান্তর করতে হয়।

  1. ধাপ 1
    Nominal (ক্রম নেই: জেলা) → One-hot: pd.get_dummies বা OneHotEncoder(handle_unknown="ignore")
  2. ধাপ 2
    Ordinal (ক্রম আছে: শিক্ষা স্তর) → OrdinalEncoder নির্দিষ্ট ক্রমে
  3. ধাপ 3
    অনেক ক্যাটাগরি (৪৯৫ উপজেলা) → target/frequency encoding বা grouping
  4. ধাপ 4
    বিরল ক্যাটাগরি "Other"-এ একত্র করুন

🧪 বাস্তব উদাহরণ

৬৪ জেলা one-hot = ৬৪ কলাম; বিকল্প: প্রতিটি জেলার গড় টার্গেট মান (ক্রস-ভ্যালিডেশনসহ)।

⚠️ সাধারণ ভুল

নামিনাল ক্যাটাগরিকে ১,২,৩ দিয়ে এনকোড—মডেল ভুল ক্রম শেখে।

🔑 মূল শব্দ (Key terms)

one-hot encodingordinal encodingtarget encodingcardinality

3

সাব-টপিক ও বিস্তারিত · Sub-topics

টপিক → সাব-টপিক → সাব-সাব টপিক
2.1 One-hot2.1.1 pd.get_dummies
2.2 Label/Ordinal2.2.1 ক্রমযুক্ত ক্যাটাগরি
2.3 Target encoding2.3.1 উচ্চ কার্ডিনালিটি
🎬

ভিডিও · Videos (বাংলা ও English)

ক্লিক করলে সাইটের ভেতরেই ফ্লোটিং প্লেয়ারে চলবে · ভিডিও MySQL-এ সংরক্ষিত

📺 আরও খুঁজুন

💻

হাতে-কলমে · Try it (Feature Engineering)

এডিট করে Run চাপুন · Ctrl+Enter
import pandas as pd
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.pipeline import Pipeline
from sklearn.linear_model import LogisticRegression
df=pd.DataFrame({"age":[22,35,47,52,28,61,33,44],"income":[20,45,60,80,30,90,40,55],"city":list("DSDKSDKS"),"buy":[0,1,1,1,0,1,0,1]})
pre=ColumnTransformer([("num",StandardScaler(),["age","income"]),("cat",OneHotEncoder(),["city"])])
pipe=Pipeline([("pre",pre),("clf",LogisticRegression())]).fit(df.drop(columns="buy"),df.buy)
print("Train accuracy:",pipe.score(df.drop(columns="buy"),df.buy))
❓

সেল্ফ-চেক · Self check

1. “pd.get_dummies” — এটি কোন সাব-টপিকের বর্ণনা?

2. “ক্রমযুক্ত ক্যাটাগরি” — এটি কোন সাব-টপিকের বর্ণনা?

3. “উচ্চ কার্ডিনালিটি” — এটি কোন সাব-টপিকের বর্ণনা?

🔗

সংযুক্ত কনসেপ্ট · Connected concepts

← আগের টপিকFeature Scalingপরের টপিক →Feature Selection
🎬 Video