متخصصان علم داده ها data scientists
1.44K subscribers
1.7K photos
260 videos
374 files
521 links
ارتباط با ادمین @IDataScientist
صفحه لینکدین
https://www.linkedin.com/groups/6728779/
Download Telegram
🔀برنامه آینده:
نشر ِ نی منتشر خواهد کرد
↗️⬇️⬆️⬅️راهنمای دانشجویان برای بردارها و تنسورها اثر دانیل فلایش .

تذکره‌تُن :
شخصا ازین نشر معظم تا امروز بجز رمان،فلسفه،جامعه‌ و روان شناسی ، نخوانده بودم
#نشر_نی ، بسیار انتشارات باشخصیت و خوبی است.
#Tensor
@toobabigdatascience
👏2
متخصصان علم داده ها data scientists
⬅️#کاهش_ابعاد در Numphy مشکل اصلی کجاس؟ مشکل از اینجا ناشی می‌شود که بسیاری از افراد axis را با جهت حرکت اشتباه می‌گیرند. در واقع در NumPy، محور (Axis) یک «جهت محاسبه» نیست؛ بلکه یک شمارهٔ بُعد (Dimension Index) است. ➡️⬆️محورها در NumPy واقعاً چه هستند؟…
■ کاهش یا Reduction چیست؟

یادآوری : توابعی مثل:
mean
sum
max
min
std
تعداد ابعاد را کم می‌کنند.


◀️مثلاً:

X.shape

برابر است با:

(2, 3)

اما:

np.mean(X, axis=0)

خروجی:

[2.5, 3.5, 4.5]

شکل خروجی:

(3,)

↩️دقت کنید:

(2,3)
↓
(3,)

بُعد ِشماره 0 حذف شده است.


⏺چرا میانگین ستون‌ها محاسبه می‌شود؟

چون NumPy باید بُعد 0 را حذف کند.

برای حذف آن مجبور است مقادیر موجود در آن بعد را با هم ترکیب کند:

[[1,2,3],
[4,5,6]]


●بُعد صفر شامل این دو سطر است:

row0
row1

پس:

(1,4) → 2.5
(2,5) → 3.5
(3,6) → 4.5

◀️نتیجه:

[2.5, 3.5, 4.5]


axis=1
چه می‌کند؟

np.mean(X, axis=1)
نامپای می‌گوید :

> بُعد شماره 1 را حذف کن.

بُعد 1 همان ستون‌ها هستند.

پس:

[1,2,3] → 2
[4,5,6] → 5

■نتیجه:

[2,5]

⏪شکل خروجی:

(2,)

چون بعد 1 حذف شده است.




↔️حرفه‌ای‌‌تر فکر کنیم:

به جای فکر کردن به «سطر» و «ستون»، به شکل آرایه نگاه کنید.

مثلاً:

X.shape = (100, 50)

یعنی:

axis=0 → 100
axis=1 → 50

وقتی می‌گویید:

np.mean(X, axis=0)

در واقع می‌گویید:

⬅️ آن 100 مقدار را به یک مقدار تبدیل کن.



بنابراین:

(100,50)
↓
(50,)

وقتی می‌گویید:

np.mean(X, axis=1)

می‌گویید:

⬅️ آن 50 مقدار را به یک مقدار تبدیل کن.



بنابراین:

(100,50)
↓
(100,)




↖️↘️↙️مثال سه‌بعدی (جایی که حفظ کردن سطر و ستون دیگر جواب نمی‌دهد)

فرض کنید:

X.shape = (10, 20, 30)

اینجا دیگر سطر و ستون معنای روشنی ندارند.

اما مفهوم axis کاملاً روشن است:

np.mean(X, axis=0)

شکل خروجی:

(20,30)

زیرا بُعد اول حذف شده است.


np.mean(X, axis=1)

⬅️خروجی:

(10,30)




np.mean(X, axis=2)

خروجی:

(10,20)




👁‍🗨قاعده‌‌ی حرفه‌ای ها

بسیاری از برنامه‌نویسان باتجربه اصلاً به «سطر» و «ستون» فکر نمی‌کنند.

🔄آن‌ها فقط این قانون را به خاطر می‌سپارند:


آکسیس مشخص می‌کند کدام بُعد کاهش (reduce) پیدا کند و از خروجی حذف شود.



یا حتی کوتاه‌تر:
➡️ Axis = dimension to collapse.

اگر این جمله را بفهمیم، دیگر هیچ‌وقت در NumPy، Pandas، TensorFlow، PyTorch یا JAX در مورد axis گیج و ویج نخواهیم شد.

#کاهش_ابعاد
#NumPy
#TensorFlow
#Tensor
#PyTorch
@toobabigdatascience
👏2