NumPy برای ماشین لرنینگ
آموزش NumPy: آرایهها، عملیات برداری، ایندکسگذاری و توابع پرکاربرد برای ML
NumPy چیست؟
NumPy کتابخانه بنیادی محاسبات عددی در پایتون است. دادهها در ماشین لرنینگ بهصورت آرایهها و ماتریسها هستند و NumPy سریعترین ابزار برای کار با آنهاست.
ساخت آرایه NumPy
شیء اصلی NumPy، آرایه چندبعدی ndarray است:
import numpy as np
# از لیست
arr = np.array([1, 2, 3, 4, 5])
# آرایه دوبعدی (ماتریس)
matrix = np.array([[1, 2, 3], [4, 5, 6]])
چرا NumPy بهجای لیست؟
- سرعت: عملیات NumPy در زبان C انجام میشود و دهها برابر سریعتر از لیست پایتون است
- حافظه کمتر: آرایهها فشردهتر از لیستها ذخیره میشوند
- عملیات برداری: بدون حلقه، روی کل آرایه عملیات انجام میشود
عملیات برداری (Vectorization)
بهجای حلقه، مستقیم روی آرایه عمل میکنیم:
prices = np.array([100, 200, 300])
# همه قیمتها یکجا محاسبه میشوند
with_tax = prices * 1.09 # [109, 218, 327]
cheap = prices < 250 # [True, True, False]
آرایهسازی و توابع پرکاربرد
np.zeros(5) # آرایه صفرها
np.ones((2, 3)) # ماتریس یکها ۲×۳
np.arange(0, 10, 2) # [0, 2, 4, 6, 8]
np.linspace(0, 1, 5) # ۵ عدد بین ۰ و ۱
np.random.rand(3) # ۳ عدد تصادفی بین ۰ و ۱
شکل (Shape) و تغییر شکل
شکل آرایه، ابعاد آن را نشان میدهد و در ML بسیار مهم است:
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr.shape # (2, 3) - دو سطر و سه ستون
arr.reshape(3, 2) # تبدیل به ۳×۲
arr.flatten() # یکبعدی کردن
آماری سریع
data = np.array([10, 20, 30, 40])
data.mean() # میانگین: 25
data.std() # انحراف معیار
data.min() # کمینه: 10
data.max() # بیشینه: 40
data.sum() # جمع: 100
در scikit-learn، داده ورودی معمولاً یک آرایه دوبعدی با شکل
(تعداد نمونهها, تعداد ویژگیها) است. مثلاً ۱۵۰ گل با ۴ ویژگی → شکل (150, 4).جمعبندی
- NumPy پایه همه محاسبات ML در پایتون است
- عملیات برداری جایگزین حلقهها میشود و سرعت را بالا میبرد
- شکل آرایهها را همیشه با
shapeبررسی کنید
این مبحث بخشی از دوره آموزش کامل ماشین لرنینگ است.