Hook — ডাক্তারের প্রথম check-up
ডাক্তার রোগ ধরার আগে অনেকগুলো check করেন — pulse, pressure, temperature। সরাসরি ঔষধ দেন না। EDA (Exploratory Data Analysis) ঠিক তাই — model বানানোর আগে data কে চিনে নেওয়া।
Concept — EDA এর ৪টি প্রশ্ন
- Data কত বড়, কী কী column?
- প্রতিটি feature এর distribution কেমন?
- Missing value, outlier কোথায়?
- Feature গুলোর মধ্যে সম্পর্ক কী?
Statistics Refresher
- Mean, Median, Mode — central tendency।
- Variance, Std — spread।
- Skewness — distribution কোন দিকে হেলে।
- Correlation (Pearson) — দুটি feature কতটা সম্পর্কিত (−1 থেকে 1)।
corr(X, Y) = Cov(X, Y) / (σx · σy)
Code — Pandas + Seaborn দিয়ে EDA
eda_titanic.py
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset("titanic")
# 1. Shape, info, summary
print(df.shape)
print(df.info())
print(df.describe(include="all"))
# 2. Missing values
print(df.isnull().sum())
# 3. Distribution
df["age"].hist(bins=30); plt.title("Age distribution"); plt.show()
# 4. Categorical count
sns.countplot(x="class", hue="survived", data=df); plt.show()
# 5. Correlation heatmap (numeric)
num = df.select_dtypes(include="number")
sns.heatmap(num.corr(), annot=True, cmap="coolwarm"); plt.show()
# 6. Survival rate by group
print(df.groupby("sex")["survived"].mean())
print(df.groupby("class")["survived"].mean())EDA এ কী খুঁজি
- Outlier — boxplot এ extreme point।
- Skewness — log transform লাগতে পারে।
- Imbalanced target — sampling strategy দরকার।
- High correlation — multicollinearity warning।
- Time pattern — seasonality আছে কি।
Common Mistakes
- EDA skip করে সরাসরি model — পরে debug এ কষ্ট।
- শুধু numeric column দেখা — categorical ভুলে যাওয়া।
- Correlation কে causation ভাবা।
- Test data দিয়ে EDA — leakage।
Practice Tasks
- Task 1: Titanic এ age, fare এর boxplot এঁকে outlier খুঁজে বের করো।
- Task 2: Survival rate কোন feature এর উপর সবচেয়ে বেশি নির্ভরশীল?
- Task 3: pairplot এঁকে কোন দুটি feature বেশি linearly correlated দেখো।
Mini Project — EDA Report
যেকোনো একটি Kaggle dataset নাও। ১০টি insight বের করো, ৫টি plot এঁকে Markdown report বানাও — “Top 10 findings”। এটি portfolio এ যোগ করো।
Summary
এক নজরে
EDA = data কে বোঝা = ভালো model এর শুরু।