📚 সমস্ত অধ্যায় দেখুন
অধ্যায়/ফেজ 0 · Phase 0 · Foundation
0.2২০ মিনিট পড়া2 / 68

Python Refresher — ML এর ভাষা

Python for ML

List, dict, function, NumPy, Pandas — ML এর জন্য যতটুকু লাগবে।

Hook — রান্নাঘরের রেসিপি

তুমি যখন বিরিয়ানি রাঁধো, তখন উপকরণ একটি list এ থাকে, পরিমাণ একটি dictionary তে, আর রান্নার ধাপগুলো একটি function এর মত — পরপর execute হয়। Python ও ঠিক তাই — data, structure আর instruction এর সুন্দর সমন্বয়।

ML করতে গেলে Python সম্পূর্ণ মুখস্থ করা লাগবে না — কিন্তু কিছু core জিনিস হাতের মুঠোয় থাকা দরকার। এই অধ্যায়ে ঠিক ততটুকুই।

Concept — Python এর ৫টি স্তম্ভ

  • Variable & Data type — int, float, str, bool।
  • Collection — list, tuple, dict, set।
  • Control flow — if, for, while।
  • Function — পুনঃব্যবহারযোগ্য কোডের block।
  • Library — NumPy, Pandas, Matplotlib।
মনে রাখো

ML এর জন্য Python = NumPy (গণিত) + Pandas (data) + Matplotlib (visualization)।

Code — Python Crash Course

১. Variable, List, Dict

basics.py
name = "Rahim"
age = 22
marks = [78, 85, 92, 67]
student = {"name": name, "age": age, "marks": marks}

print(student["name"], "এর গড়:", sum(marks) / len(marks))

২. Loop ও Function

function.py
def grade(mark):
    if mark >= 80: return "A+"
    elif mark >= 70: return "A"
    elif mark >= 60: return "B"
    else: return "F"

for m in [92, 75, 58, 88]:
    print(m, "->", grade(m))

৩. NumPy — সংখ্যার শক্তি

numpy_intro.py
import numpy as np

a = np.array([1, 2, 3, 4, 5])
b = np.array([10, 20, 30, 40, 50])

print("Sum:", a + b)
print("Dot product:", np.dot(a, b))
print("Mean:", a.mean(), "Std:", a.std())

matrix = np.array([[1, 2], [3, 4]])
print("Transpose:\n", matrix.T)

৪. Pandas — Data এর spreadsheet

pandas_intro.py
import pandas as pd

df = pd.DataFrame({
    "name":  ["Rahim", "Karim", "Sumi", "Lima"],
    "marks": [78, 92, 67, 85],
    "hours": [4, 7, 3, 6],
})

print(df.head())
print("Average marks:", df["marks"].mean())
print(df[df["marks"] > 80])

৫. Matplotlib — দেখে বোঝা

plot.py
import matplotlib.pyplot as plt

hours = [1, 2, 3, 4, 5, 6]
marks = [35, 50, 60, 72, 85, 92]

plt.plot(hours, marks, marker="o")
plt.xlabel("Study hours")
plt.ylabel("Marks")
plt.title("Hours vs Marks")
plt.show()

Real-world — ML pipeline এ Python কোথায়

  • Pandas → CSV/Excel data load।
  • NumPy → matrix calculation, gradient।
  • Matplotlib/Seaborn → visualization।
  • Scikit-learn → model।
  • PyTorch/TensorFlow → deep learning।

Common Mistakes

সাবধান

Indexing ভুল — Python 0 থেকে শুরু হয়, 1 থেকে নয়।

  • Mutable default argument (`def f(x=[])`) — bug এর কারণ।
  • List vs NumPy array গুলিয়ে ফেলা — speed অনেক আলাদা।
  • Pandas এ `inplace=True` ব্যবহার না বুঝে — original data নষ্ট হয়।
  • Indentation ভুল — Python এ space-ই syntax।

Practice Tasks

  • Task 1: একটি function লেখো যা list এর mean, median, std return করবে।
  • Task 2: NumPy দিয়ে ৩x৩ matrix বানিয়ে তার transpose ও determinant বের করো।
  • Task 3: Pandas দিয়ে একটি CSV load করে missing value count করো।

Mini Project — Student Performance Analyzer

১০ জন student এর নাম, study hours আর marks নিয়ে একটি DataFrame বানাও। গড় বের করো, top 3 কে print করো, এবং hours vs marks এর scatter plot আঁকো।

Summary

মনে রাখো

Python শিখতে অনেক সময় লাগে, কিন্তু ML এর জন্য NumPy + Pandas + Matplotlib — এই তিনটায় দক্ষ হলেই 80% কাজ চলে।

  • List, dict, function — basic blocks।
  • NumPy = vector/matrix এর জন্য।
  • Pandas = tabular data এর জন্য।
  • Matplotlib = visualization এর জন্য।