وعليكم السلام ورحمة الله وبركاته.
الـ Stacking هو عملية دمج مصفوفات متعددة لإنشاء مصفوفة واحدة جديدة.
وهذه العملية تتيح لك تجميع البيانات من مصفوفات مختلفة بطرق متنوعة، سواء كان ذلك رأسيًا أو أفقيًا أو حتى على طول أبعاد جديدة، حسب احتياجاتك. والـ Stacking مفيد في مجالات مثل معالجة البيانات وتحضيرها للتحليل أو لتدريب نماذج التعلم الآلي. فهو يسمح لك بتنظيم البيانات بطريقة مرنة ومناسبة لاحتياجاتك.
وإليك بعض الأمثلة لتوضيح المفهوم
import numpy as np
# إنشاء مصفوفات أحادية البعد
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
# التكديس العمودي (vstack)
v_stacked = np.vstack((a, b))
# النتيجة:
# array([[1, 2, 3],
# [4, 5, 6]])
# التكديس الأفقي (hstack)
h_stacked = np.hstack((a, b))
# النتيجة:
# array([1, 2, 3, 4, 5, 6])
# دالة stack مع تحديد المحور
stacked_axis0 = np.stack((a, b), axis=0) # نفس نتيجة vstack
stacked_axis1 = np.stack((a, b), axis=1)
# النتيجة:
# array([[1, 4],
# [2, 5],
# [3, 6]])