📋 বিষয়সূচী (Table of Contents)

01

Part 1 — গল্প ও ধারণা

Regression কী, মানুষ কীভাবে predict করে, Linear Regression পরিচয় · ~25 min
SECTION 01
Regression কী এবং কেন দরকার?
আজ কী শিখবRegression = সংখ্যা predict করা
প্রয়োজনকিছু না — শুরু এখান থেকে
সময়~8 min
স্তরসহজ
🎯 গল্প দিয়ে শুরু
ধরো তোমার বাবা একটি বাড়ি কিনতে চান। বাড়িটির আয়তন ১৫০০ বর্গফুট, ৩টি বেডরুম, ঢাকার গুলশানে। বাবা তোমাকে জিজ্ঞেস করলেন — "এই বাড়ির দাম কত হবে?"

তুমি কি উত্তর দিতে পারবে? কীভাবে? — এটাই হলো Regression এর কাজ!

Regression কী?

Regression হলো Machine Learning-এর একটি পদ্ধতি যা দিয়ে আমরা একটি সংখ্যাগত মান (numerical value) পূর্বানুমান (predict) করতে পারি।

সহজ ভাষায়: পুরনো তথ্য দেখে ভবিষ্যতের সংখ্যা বলে দেওয়াই হলো Regression।

Input Features (বৈশিষ্ট্য)
Machine Learning Model
Predicted Numerical Output (সংখ্যা)

Regression কী কী সমস্যা সমাধান করে?

সমস্যাInput FeaturesPredicted Output
🏠 বাড়ির দামআয়তন, অবস্থান, বেডরুম সংখ্যা৮৫,০০,০০০ টাকা
💼 বেতনঅভিজ্ঞতা, শিক্ষা, দক্ষতা৬৫,০০০ টাকা/মাস
🚗 গাড়ির দামবয়স, মাইলেজ, ব্র্যান্ড১২,০০,০০০ টাকা
📈 শেয়ার দামআগের দাম, ভলিউম, সূচক১৫৫.৭০ টাকা
🛒 বিক্রয়বিজ্ঞাপন খরচ, মৌসুম৩,২০,০০০ টাকা

Regression vs Classification — পার্থক্য কী?

💡 মূল পার্থক্য
Regression → সংখ্যা বলে দেয় (যেমন: ৫০,০০০ টাকা)
Classification → ভাগ করে দেয় (যেমন: হ্যাঁ/না, বিড়াল/কুকুর)
বৈশিষ্ট্যRegressionClassification
Output ধরনসংখ্যা (৫০০০, ৭৮.৫, ১২০)শ্রেণী (Yes/No, Cat/Dog)
উদাহরণবাড়ির দাম, তাপমাত্রাস্প্যাম/স্প্যাম নয়, রোগ আছে/নেই
প্রশ্নের ধরন"কত?" / "কতটুকু?""কোনটি?" / "কোন ধরনের?"
AlgorithmLinear RegressionLogistic Regression, SVM
🎮 বোঝাপড়া পরীক্ষা — এটা Regression না Classification?

প্রতিটি scenario-তে click করুন:

উত্তর দিতে উপরের বাক্যগুলোতে click করুন, তারপর নিজে বলুন Regression না Classification।

Regression = "কত?" এর উত্তর (সংখ্যা) · Classification = "কোনটি?" এর উত্তর (শ্রেণী)
SECTION 02
মানুষ কীভাবে Prediction করে?
আজ কী শিখবStudy Hours → Marks প্যাটার্ন
প্রয়োজনSection 01
সময়~8 min
স্তরসহজ
📖 গল্প
রিমা একজন অভিজ্ঞ শিক্ষিকা। সে দেখেছে — যে ছাত্র যত বেশি পড়ে, সে পরীক্ষায় তত ভালো নম্বর পায়। এখন নতুন ছাত্র রাহাত বলল সে ৫ ঘণ্টা পড়েছে। রিমা বললেন — "তুমি সম্ভবত ৭০-৭৫ নম্বর পাবে।"

রিমা কিন্তু কোনো সূত্র ব্যবহার করেননি! তিনি অভিজ্ঞতা থেকে প্যাটার্ন মনে রেখে Prediction করলেন। Machine Learning-ও ঠিক এভাবেই কাজ করে — শুধু অনেক বেশি তথ্য থেকে।

Study Hours → Marks: Interactive Data Table

নিজের student data যোগ করুন — প্যাটার্ন সাথে সাথে update হবে।

ছাত্রের নামঘণ্টা (x)নম্বর (y)
🧠 প্যাটার্ন (live)
প্রতি ঘণ্টা বাড়লে নম্বর প্রায় ১৩ করে বাড়ছে।

৭ ঘণ্টা পড়লে প্রায় ১০১ নম্বর পাবে।

মানুষ অভিজ্ঞতা থেকে প্যাটার্ন দেখে predict করে — ML অনেক data দিয়ে একই কাজ করে।
SECTION 03
Linear Regression পরিচয়
আজ কী শিখবBest Fit Line = সরলরেখা
প্রয়োজনSection 02
সময়~9 min
স্তরসহজ

Linear Regression কী?

Linear Regression হলো সবচেয়ে সহজ এবং সবচেয়ে জনপ্রিয় Machine Learning Algorithm। এটি দুটি জিনিসের মধ্যে সরলরেখার সম্পর্ক খুঁজে বের করে এবং সেই রেখা ব্যবহার করে ভবিষ্যতের মান predict করে।

📐 "Linear" মানে কী?
"Linear" মানে সরলরেখা (straight line)। যখন দুটি জিনিসের সম্পর্ক একটি সরল রেখায় দেখানো যায়, তখন তাকে Linear সম্পর্ক বলে।

উদাহরণ: বেশি পড়লে → বেশি নম্বর (সরলরেখায় বাড়ে)

Regression Line / Best Fit Line কী?

অনেকগুলো Data Point এর মাঝ দিয়ে যে একটি সরলরেখা টানা হয় যা সব বিন্দুর যতটা সম্ভব কাছে থাকে — সেটাই Best Fit Line বা Regression Line

🎯 মনে রাখো
Best Fit Line = সেই রেখা যা সব Data Point থেকে সবচেয়ে কম দূরে থাকে।

🎮 Best Fit Line দেখুন

Linear Regression = data-এর মাঝ দিয়ে সবচেয়ে ভালো সরলরেখা টানা।
02

Part 2 — চোখে দেখো

Graph, compare lines, সূত্র y=mx+b · ~45 min
SECTION 04
গ্রাফিক্যাল ইনটুইশন — চোখে দেখো
আজ কী শিখবClick করে point যোগ, Best Fit দেখুন
প্রয়োজনSection 03
সময়~12 min
স্তরসহজ

Scatter Plot — ডেটা বিন্দু

🎮 Interactive Scatter Plot Live
Canvas-এ click করে নতুন point যোগ করুন · point drag করে সরান · Right-click করে point মুছুন · অথবা নিচে x, y লিখে যোগ করুন
Points: (6)
m = 13
b = 10
y ≈ 101
Equationy = 13x + 10
Points6
MSE

প্রতিটি বিন্দু একজন ছাত্রের তথ্য — এগুলোকে বলা হয় Data Point

Best Fit Line যোগ করা হলে

👁️ উপরের Interactive Lab ব্যবহার করুন
Auto Best Fit Line চাপলে model সব point-এর জন্য সেরা m ও b বের করবে। Slider দিয়ে m/b manually বদলিয়ে দেখুন line কীভাবে ভুল/ঠিক হয়।
👁️ দেখো কী হলো
রেখাটি সব Data Point-এর যতটা সম্ভব কাছ দিয়ে গেছে। এখন যদি কেউ ৭ ঘণ্টা পড়ে, রেখা বাড়িয়ে দিলেই তার নম্বর বের হবে — প্রায় ১০১!

Prediction মানে কী?

নতুন কোনো ইনপুট দিলে আমরা রেখার উপর সেই বিন্দু খুঁজে বের করি — সেটাই Predicted Value

Scatter plot = data দেখা · Best Fit Line = predict করার রেখা।
SECTION 05
গাণিতিক ইনটুইশন — কোন লাইন সেরা?
আজ কী শিখবMSE সবচেয়ে কম = Best Line
প্রয়োজনSection 04
সময়~10 min
স্তরমাঝারি

সমস্যা: অনেক লাইন আঁকা যায়!

🎮 Compare Lines — কোন line সেরা?
নিচের ৩টি line একই data-তে compare করুন। Canvas-এ click করে নতুন point যোগ করুন। MSE সবচেয়ে কম যেটা — সেটাই Best Fit!
A: y=20x+0 · MSE=0
B: y=13x+10
C: y=8x+20

কোন রেখা সেরা তা বোঝার উপায়

একটি রেখা আঁকো
প্রতিটি Data Point থেকে রেখার দূরত্ব মাপো
সব দূরত্ব যত কম, রেখা তত ভালো!
সবচেয়ে কম দূরত্বের রেখাই = Best Fit Line ✅
🌟 মূল ধারণা
Machine Learning একটি রেখা দিয়ে শুরু করে। তারপর সেই রেখার ভুল মাপে, ভুল কমানোর চেষ্টা করে। এভাবে বারবার করতে করতে সে সেরা রেখা খুঁজে পায়।
সবচেয়ে কম MSE = সবচেয়ে ভালো line = Best Fit Line।
SECTION 06
সূত্র, ঢাল ও Intercept — একসাথে শিখি
আজ কী শিখবy = mx + b — তিনটি interactive tab
প্রয়োজনSection 05
সময়~15 min
স্তরমাঝারি
y = mx + b Linear Regression এর মূল সূত্র

প্রতিটি অংশ বিস্তারিত

চিহ্ননামমানে কী?উদাহরণ
yPredicted Valueআমরা যা বের করতে চাইপরীক্ষার নম্বর
xInput Featureআমরা যা দিচ্ছিপড়ার ঘণ্টা
mSlope (ঢাল)x বাড়লে y কত বাড়বেপ্রতি ঘণ্টায় ১৩ নম্বর বাড়ে
bInterceptx=০ হলে y কত?না পড়লেও ১০ নম্বর পায়

উদাহরণ দিয়ে বোঝো

ধরা যাক আমাদের সূত্র হলো: y = 13x + 10

পড়ার সময় (x)হিসাবPredicted নম্বর (y)
0 ঘণ্টা13 × 0 + 10 = 1010
1 ঘণ্টা13 × 1 + 10 = 2323
3 ঘণ্টা13 × 3 + 10 = 4949
5 ঘণ্টা13 × 5 + 10 = 7575
7 ঘণ্টা13 × 7 + 10 = 101101

m (Slope) ও b (Intercept) — সহজ ভাষায়

m = ঢাল (Slope)
সহজ কথায়: x ১ বাড়লে y কত বাড়ে — এটাই m।
সিঁড়ির উপমা: m বেশি হলে সিঁড়ি খাড়া → এক ঘণ্টা বেশি পড়লে নম্বর অনেক বাড়ে।
উদাহরণ: m = 13 মানে ১ ঘণ্টা বেশি পড়লে +১৩ নম্বর
b = Intercept (শুরুর বেস)
সহজ কথায়: x = 0 হলে y কত — অর্থাৎ শুরুর base মান
উদাহরণ: b = 10 মানে না পড়লেও (০ ঘণ্টা) base ১০ নম্বর ধরা হয়।
Line যেখানে y-axis ছোঁয় (x=0), সেটাই b।

সূত্র ভাঙা দেখি — y = (m×x) + b

x বেছে নিন, তারপর m ও b slider বদলিয়ে দেখুন প্রতিটি অংশ কীভাবে যোগ হয়:

y = (13×3) + 10 = 39 + 10 = 49 নম্বর

৩ ঘণ্টায়: পড়ার বোনাস ৩৯ + বেস নম্বর ১০ = ৪৯

Interactive Labs — Formula / Slope / Intercept

y = mx + b Playground Live
m×x = পড়ার জন্য বোনাস · b = শুরুর নম্বর (base) · slider বদলালে table ও graph সাথে সাথে update
m = 13
b = 10
সূত্রy = (13×x) + 10
m (ঢাল)m = 13
b (বেস)b = 10
x (ঘণ্টা)m×x+ b= yব্যাখ্যা
Slope সহজ ব্যাখ্যা
m = 13 → প্রতি ১ ঘণ্টায় +১৩ নম্বর
x=2 থেকে x=3: y বাড়ে +13
Slope (m) — ১ ঘণ্টায় কত বাড়ে? Live
Graph-এ সবুজ box দেখুন: x ১ বাড়লে y কত বাড়ে (= m) · m slider বদলান
m = 13 (Positive)
প্রতি ১ ঘণ্টায়+13 নম্বর
ধরনধনাত্মক (উর্ধ্বমুখী)
১ ঘণ্টার উদাহরণx→x+1: +13
Intercept সহজ ব্যাখ্যা
x=0 হলে y=10 (base নম্বর — না পড়লেও)
b বাড়লে line উপরে উঠে — সব prediction +b পরিমাণ shift
Intercept (b) — শুরুর বেস কোথায়? Live
হলুদ বিন্দু = (0, b) — line y-axis এ কোথায় শুরু · b slider বদলান
b = 10
m = 13
x=0 তে yy = b = 10
b বাড়লেLine উপরে
b কমলেLine নিচে
Slope (m)x = 5 ঘণ্টা হলেমানে কী?
m = 55×5+10 = 35প্রতি ঘণ্টায় মাত্র ৫ নম্বর বাড়ে (কম কার্যকর)
m = 1313×5+10 = 75প্রতি ঘণ্টায় ১৩ নম্বর বাড়ে (মাঝামাঝি)
m = 2020×5+10 = 110প্রতি ঘণ্টায় ২০ নম্বর বাড়ে (অনেক বেশি)
m = প্রতি ১ x-এ y কত বাড়ে · b = x=0 তে শুরুর y · তিনটি tab-এ live দেখুন!
SECTION 07
Slope (ঢাল) বিস্তারিত
আজ কী শিখবPositive / Negative / Zero slope
InteractiveSection 06 → Slope tab
সময়~8 min
স্তরমাঝারি

Slope কী?

Slope বলে: "x এক একক বাড়লে y কতটুকু পরিবর্তন হয়।"

🎮 Slope Interactive Lab খুলুন

উদাহরণx (Input)y (Output)Slope ধরন
পড়া → নম্বরবেশি পড়লেনম্বর বাড়ে✅ Positive
বয়স → গাড়ির দামবয়স বাড়লেদাম কমে❌ Negative
জুতার সাইজ → IQসাইজ বাড়লেIQ একই থাকে➖ Zero
📐 Slope এর সূত্র
m = (y₂ - y₁) / (x₂ - x₁)

উদাহরণ: বিন্দু (2, 38) এবং (4, 62) থেকে Slope = (62 - 38) / (4 - 2) = 24 / 2 = 12
SECTION 08
Intercept (b) — x = 0 হলে কী হয়?
আজ কী শিখবx=0 হলে y কত — intercept b
InteractiveSection 06 → Intercept tab
সময়~8 min
স্তরমাঝারি

Intercept কী?

Intercept হলো সেই মান যা রেখা y-অক্ষকে ছেদ করে। সহজ ভাষায়: যখন x = 0, তখন y = b

🎮 Intercept Interactive Lab খুলুন

পরিস্থিতিIntercept এর মানে
পড়াশোনা → নম্বর (b = 10)না পড়লেও (x=0) ১০ নম্বর পাবে (MCQ তে হয়তো ভাগ্যে)
অভিজ্ঞতা → বেতন (b = 15000)নতুন চাকরিতে (x=0 বছর) মিনিমাম ১৫,০০০ টাকা
বিজ্ঞাপন → বিক্রয় (b = 5000)বিজ্ঞাপন না দিলেও ৫০০০ টাকার বিক্রি হয়
⚠️ মনে রাখো
Intercept সবসময় বাস্তব জীবনে অর্থবহ নাও হতে পারে। উদাহরণ: ঘরের আয়তন = 0 হলে দাম = 50,000 — এটা বাস্তবে সম্ভব না! এটা শুধু গাণিতিক মান।
03

Part 3 — ML কীভাবে শেখে

Error → MSE → line ঠিক → শেখা · ~40 min
SECTION 09
Error কী? Best Line কীভাবে খোঁজে?
আজ কী শিখবError = Actual − Predicted
প্রয়োজনSection 06
সময়~12 min
স্তরমাঝারি

Error / Residual কী?

❌ সহজ সংজ্ঞা
Error = Actual Value − Predicted Value
অর্থাৎ, আমরা কত বলেছিলাম আর আসলে কত হয়েছে — তার পার্থক্য।
🎮 Error / Residual Visualizer
প্রতিটি point থেকে line-এ dotted error line দেখুন · m/b বদলালে error বদলায়
m = 8
b = 25
StudentxActualPredictedError
মোট |Error|
MSE (report card)

Error হিসাবের পর ML কী করে?

৫ ধাপে শেখা — সহজ গল্প
১. Random line দিয়ে শুরু (ভুল m, b)
২. প্রতিটি point-এ predict → Error বের করো
৩. সব error মিলিয়ে MSE = “মোট কত ভুল করেছি” (report card)
৪. MSE বেশি হলে → line সরাও (m, b বদলাও)
৫. আবার ২–৪ — MSE কম না হওয়া পর্যন্ত

Interactive — ML শেখার loop দেখুন

ধাপ বেছে নিন — উপরের graph ও error table সাথে সাথে বদলাবে:

MSE
মোট |Error|
m, b

ধাপ ১: ভুল line — error lines লম্বা, MSE এখনো বেশি

Best Line হলো সেই রেখা যেখানে MSE সবচেয়ে কম — Error শুধু দেখার জন্য নয়, line ঠিক করার feedback signal

Error = feedback · MSE = report card · MSE কমাতে m,b ঠিক করো → Best line
SECTION 10
Cost Function — Mean Squared Error (MSE)
আজ কী শিখবMSE = Error² এর গড়
প্রয়োজনSection 09
সময়~12 min
স্তরমাঝারি
ML Error নিয়ে কী করে?
প্রতিটি student-এর error আলাদা মনে রাখে না — সব মিলিয়ে একটা সংখ্যা (MSE) বানায়।
এই সংখ্যাটা দেখে বোঝে line ভালো নাকি খারাপ। MSE বেশি = আরও শেখতে হবে (m, b ঠিক করতে হবে)।

শুধু Error যোগ করলে হয় না কেন?

⚠️ সমস্যা
Error গুলো যোগ করলে ধনাত্মক (+3) এবং ঋণাত্মক (-3) Error একে অপরকে বাতিল করে দেয়!

যেমন: +3 + (-3) = 0 → কিন্তু এর মানে এই না যে ভুল শূন্য!
🎮 কেন Error বর্গ করি? — Live Demo

Error +2 এবং Error -2:

যোগ করলে0
বর্গ করে যোগ8

সমাধান: Error-কে বর্গ করো!

প্রতিটি Error কে বর্গ করলে (square করলে) সব মান ধনাত্মক হয়ে যায়। তারপর গড় করি — এটাই Mean Squared Error (MSE)।

MSE = (1/n) × Σ (ActualPredictedn = মোট Data Point সংখ্যা

MSE হিসাব — ধাপে ধাপে

🎮 Live MSE Calculator
Line বদলালে Error² table ও MSE সাথে সাথে update হবে
MSE4.6
Sum of Error²23
Points5
Actual (y)Predicted (ŷ)ErrorError²
✅ লক্ষ্য
MSE যত কম → Line তত ভালো → Model তত নির্ভুল। Linear Regression-এর লক্ষ্য হলো MSE minimise করা।

Error বর্গ করার আরেকটি কারণ

বড় Error-কে বেশি শাস্তি দেওয়া হয়। যদি একটি Error = 10 হয়, তাহলে Error² = 100। কিন্তু Error = 1 হলে Error² = 1। তাই বড় ভুলগুলো model আরো বেশি মনে রাখে এবং কমানোর চেষ্টা করে।

MSE = Error² এর গড় · যত কম MSE, তত ভালো model।
SECTION 11
Gradient Descent — মডেল কীভাবে শেখে?
আজ কী শিখবMSE কমাতে ধাপে ধাপে নামা
প্রয়োজনSection 10
সময়~12 min
স্তরউন্নত

পর্বত থেকে নামার গল্প 🏔️

🧗 উপমা
কল্পনা করো তুমি কুয়াশায় ঢাকা একটি পর্বতে আছো এবং উপত্যকায় নামতে চাও (সবচেয়ে নিচে = সবচেয়ে কম MSE)।

তুমি চোখ দেখতে না পেলেও — পায়ের নিচে মাটি কোন দিকে ঢালু সেটা অনুভব করতে পারো। তুমি সবসময় ঢালু দিকে পা রাখো। এভাবে ধীরে ধীরে উপত্যকায় পৌঁছাও।

Gradient Descent-ও ঠিক এভাবে কাজ করে!
🎮 MSE vs Slope — Gradient Descent Intuition
m slider বদলান — নিচের curve-এ দেখুন কোন m-তে MSE সবচেয়ে কম (উপত্যকার তল)
m = 13 · MSE = ?

Gradient Descent এর ধাপ

মূল কথা: Error → MSE → line ঠিক → আবার Error (যতক্ষণ না MSE সবচেয়ে কম)

একটি random line দিয়ে শুরু
MSE (Error) হিসাব করো
Gradient (ঢালের দিক) বের করো
m এবং b একটু পরিবর্তন করো
MSE কি কমেছে? → আবার করো
MSE সবচেয়ে কম → Best Line পাওয়া গেছে! ✅
প্রতিবার কতটুকু পরিবর্তন করবে সেটাকে Learning Rate (α) বলে।
α বড় → দ্রুত কিন্তু minimum miss করতে পারে
α ছোট → নির্ভুল কিন্তু অনেক সময় লাগে
সাধারণত: α = 0.01 থেকে শুরু।
Error = feedback · MSE = report card · Gradient Descent = automatic line ঠিক করা। পুরো story এক নজরে দেখুন →
04

Part 4 — দেখে বোঝো: Data থেকে Prediction

Linear data পাওয়ার পর ML কী করে — Visual story · ~15 min
SECTION 19
Linear Data পাওয়ার পর ML কী করে?
আজ কী শিখবData → Line → Error → MSE → শেখা → Predict
প্রয়োজনSection 11
সময়~15 min
স্তরসহজ
এক লাইনে পুরো গল্প
Linear data দাও → line ধরো → predict করো → error দেখো → MSE বের করো → line ঠিক করো → নতুন x-এ predict করো।
Linear ML Pipeline — Step by Step Live
পরের ধাপ চাপুন — এক এক করে পুরো ML গল্প দেখুন (অথবা উপরের নম্বরে click করুন)
ধাপ ১: Linear Data Study Hours vs Marks — data point গুলো আসছে
ধাপ1 / 7
MSE
m, b
x=7 predict
Data → line → error → MSE → ঠিক করো → predict · ML শেখা = MSE কমানো
05

Part 5 — হাতে করো

End-to-End wizard + Google Colab কোড · ~35 min
SECTION 12
End-to-End সংখ্যার উদাহরণ
আজ কী শিখবPlot → Guess → Error → MSE → Best Fit
প্রয়োজনSection 19
সময়~18 min
স্তরমাঝারি
🎮 End-to-End Step Wizard
1
2
3
4
5

Step 1: Perfect dataset plot করুন (y = 20x)

Step 2: নিজে m ও b guess করুন

m=15
b=5

Step 3: Error table (live)

xActualPredictedErrorError²

Step 4: MSE =

MSE যত কম, line তত ভালো।

Step 5: Best Fit = y = 20x + 0 · MSE = 0

📄 হাতে হিসাব (backup reference)

আমাদের Dataset

Hours (x)Marks (y)
120
240
360
480
1
Data Plot করো
উপরের তথ্য Scatter Plot-এ আঁকো।
2
Initial Line ধরি: y = 15x + 5
(এটা random অনুমান)
3
Predictions হিসাব করো
xPredicted (15x+5)ActualErrorError²
1202000
23540525
3506010100
4658015225
4
MSE = (0 + 25 + 100 + 225) / 4 = 87.5
এটা অনেক বেশি! Line ভালো না।
5
True Best Fit: y = 20x + 0
xPredicted (20x)ActualErrorError²
1202000
2404000
3606000
4808000
MSE = 0 → নিখুঁত! 🎉
✅ উপসংহার
Best Fit Line: y = 20x + 0 → Slope = 20, Intercept = 0। প্রতি ঘণ্টায় ২০ নম্বর বাড়ে।
06

Part 6 — Extra (Optional)

Assumptions, industry, mistakes, revision · যার সময় আছে
SECTION 13
Linear Regression Assumptions
আজ কী শিখবকখন Linear Regression কাজ করে না
স্তরউন্নত (optional)

Card-এ click করলে উদাহরণ দেখাবে:

Linearity
পড়া ↑ → নম্বর ↑ সরলরেখায়
Independence
একজনের নম্বর অন্যজনকে প্রভাবিত করে না
Homoscedasticity
সব জায়গায় Error প্রায় সমান
Normal Errors
বেশিরভাগ Error ছোট, কিছু বড়
অন্য Algorithm ব্যবহার করতে হয় (যেমন Polynomial Regression, Random Forest)।
SECTION 14
সুবিধা ও সীমাবদ্ধতা
আজ কী শিখবকখন LR ব্যবহার করব, কখন না
স্তরসহজ

Card-এ click করুন highlight করতে:

✅ সুবিধা (Advantages)

  • সহজ বোঝা যায় — সূত্র মাত্র y = mx + b
  • দ্রুত কাজ করে — ট্রেনিং খুব fast
  • ব্যাখ্যাযোগ্য — Slope দেখেই বুঝা যায়
  • কম ডেটাতেও কাজ করে
  • Baseline Model হিসেবে দারুণ

❌ সীমাবদ্ধতা (Limitations)

  • Outlier-এ দুর্বল — একটি বাজে ডেটায় Line নড়ে
  • জটিল সম্পর্ক ধরতে পারে না
  • শুধু Linear সম্পর্কের জন্য
  • Feature Scaling দরকার হতে পারে
  • Multicollinearity সমস্যা

Outlier এর প্রভাব

🎮 Outlier Effect Demo
Outlier toggle করুন — Best Fit Line কতটা সরে যায় দেখুন
Without Outlier
With Outlier
MSE Change
SECTION 15
বাস্তব জীবনে কোথায় ব্যবহার হয়?
আজ কী শিখবIndustry use cases
স্তরসহজ
🎮 Industry বেছে নিন — Input/Output দেখুন
Banking: Input = আয়, বয়স, সম্পদ → Output = Loan পরিমাণ (সংখ্যা)
SECTION 16
Google Colab কোড — Interactive Walkthrough
আজ কী শিখবImport → Fit → Predict (৩ step)
প্রয়োজনSection 12
সময়~17 min
স্তরমাঝারি
🔗 শুরু করার আগে
Google Colab: colab.research.google.com → New Notebook। নিচে প্রতিটি step-এ Run this step চাপুন output দেখতে।

Beginner Track — ৩ Steps

Step 1: Library Import
import pandas as pd
from sklearn.linear_model import LinearRegression
print("✅ Libraries ready!")
✅ Libraries ready!
Step 2: Data + Train (STUDY dataset extended)
data = {'Hours': [1,2,3,4,5,6,7,8,9,10],
        'Marks': [15,25,45,55,70,80,85,90,95,100]}
df = pd.DataFrame(data)
X = df[['Hours']]
y = df['Marks']
model = LinearRegression().fit(X, y)
print(f"m={model.coef_[0]:.2f}, b={model.intercept_:.2f}")
m=9.52, b=6.13 Best Fit: Marks ≈ 9.52 × Hours + 6.13
Step 3: Predict — ৭ ঘণ্টা পড়লে?
pred = model.predict([[7]])
print(f"৭ ঘণ্টায় নম্বর: {pred[0]:.1f}")
৭ ঘণ্টায় নম্বর: 72.8
Advanced — Train/Test Split, MSE, R², Plot
Train/Test Split + Metrics
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print(f"MSE={mean_squared_error(y_test,y_pred):.2f}, R²={r2_score(y_test,y_pred):.2f}")
MSE=15.62, R²=0.96
Scatter + Regression Line Plot
import matplotlib.pyplot as plt
plt.scatter(X, y); plt.plot(X, model.predict(X), 'r-')
plt.show()  # নীল point + লাল Best Fit Line
[Colab-এ scatter plot + red regression line দেখাবে]

Note: Beginner track-এ STUDY dataset (S2) ব্যবহার করুন। Advanced-এ extended 10-point COLAB dataset।

SECTION 17
সাধারণ ভুলগুলো এবং সমাধান
আজ কী শিখবSpot the mistake quiz
স্তরমাঝারি
১. কোনটি ভুল?
  • Error = Predicted − Actual
  • Error = Actual − Predicted
  • MSE সবসময় ঋণাত্মক
২. Slope এর সঠিক ব্যাখ্যা?
  • x এক বাড়লে y কত বাড়ে
  • y সবসময় ০ থেকে শুরু
  • Intercept এর সমান
৩. Overfitting কখন হয়?
  • Data খুব কম হলে
  • MSE = 0 হলে
  • Train data-তেই test করলে
৪. sklearn-এ X সঠিকভাবে?
  • X = df['Hours']
  • X = df[['Hours']]
  • X = Hours
পুরো dataset দিয়ে train করে same data-তে test করা। Model মুখস্থ করে, নতুন data-তে কাজ করে না।
SECTION 18
রিভিশন, MCQ, ভাইভা ও হোমওয়ার্ক
আজ কী শিখবRevision + Interactive MCQ
স্তরসহজ

📝 Quick Revision Notes

⚡ মূল পয়েন্ট
  1. Regression → সংখ্যাগত মান predict করে
  2. Linear Regression → সরলরেখার সাহায্যে predict করে
  3. সূত্র: y = mx + b
  4. m (Slope) → x এক বাড়লে y কত বাড়বে
  5. b (Intercept) → x = 0 হলে y-এর মান
  6. Error = Actual − Predicted
  7. MSE = Error² গুলোর গড়
  8. Gradient Descent → MSE কমিয়ে Best Line খোঁজে
  9. → 1-এর কাছে হলে ভালো model

🎯 Interactive MCQ

1. Linear Regression কোন ধরনের Output দেয়?
  • হ্যাঁ/না
  • সংখ্যাগত মান
  • ছবি
  • শ্রেণী
2. y = 5x + 3 সূত্রে, Slope কত?
  • 5
  • 3
  • y
  • x
3. Best Fit Line বেছে নেওয়ার মাপকাঠি?
  • সবচেয়ে লম্বা
  • সবচেয়ে ঢালু
  • সবচেয়ে কম MSE
  • সবচেয়ে সরল
4. Error বর্গ করার কারণ?
  • Error বড় করতে
  • + ও − cancel না করতে
  • সূত্রে আছে
  • গণনা সহজ
5. R² = 0.95 মানে কী?
  • ৫% নির্ভুল
  • খারাপ model
  • ~৯৫% ভালো fit
  • MSE=0.95

🗣️ ভাইভা প্রশ্ন (click করে উত্তর)

Regression vs Classification?
Regression = সংখ্যা predict · Classification = শ্রেণী (হ্যাঁ/না)
Gradient Descent কী করে?
MSE কমাতে ধাপে ধাপে m, b বদলিয়ে Best Line খোঁজে।
Intercept এর মানে?
x=0 হলে y কত — যেমন অভিজ্ঞতা ০ বছরেও মিনিমাম বেতন।
MSE vs RMSE?
MSE বড় error-কে বেশি শাস্তি দেয়। RMSE original unit-এ — বোঝতে সহজ।
LR কখন ব্যর্থ?
Non-linear সম্পর্ক, অনেক outlier, multicollinearity থাকলে।

💡 Interview প্রশ্ন (self-check)

Assumptions কী কী?
Linearity, Independence, Homoscedasticity, Normal errors — S13 flip cards দেখুন।

📚 Practical Exercises

🛠️ অনুশীলন ১
নিচের ডেটা থেকে হাতে হিসাব করো Slope, Intercept এবং MSE:

(x, y): (1, 10), (2, 20), (3, 30), (4, 40)
Initial Line: y = 8x + 2
🛠️ অনুশীলন ২
Google Colab-এ নিজের বেতন prediction করো:
— অভিজ্ঞতা: 0, 1, 2, 3, 5, 7, 10 বছর
— বেতন: 20000, 25000, 30000, 38000, 50000, 65000, 90000 টাকা
Model train করো এবং ৪ বছরের অভিজ্ঞতায় কত বেতন হবে predict করো।

🏠 হোমওয়ার্ক Tracker