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
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
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 — সংখ্যার শক্তি
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
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 — দেখে বোঝা
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 এর জন্য।