مفهوم Bootstrap Aggregation
Bootstrap Aggregation، المعروف أيضًا باسم Bagging، هو تقنية من تقنيات تعلم الآلة التي تُستخدم لتحسين دقة النموذج وتقليل التباين. يتمثل الهدف الأساسي من هذه التقنية في جمع نتائج نماذج متعددة لتقديم تنبؤ أكثر استقرارًا ودقة. يتم تحقيق ذلك عن طريق إنشاء العديد من مجموعات البيانات الفرعية العشوائية من مجموعة البيانات الأصلية، ثم تدريب نموذج منفصل على كل مجموعة فرعية. في النهاية، يتم تجميع التنبؤات من كل نموذج للحصول على النتيجة النهائية.
آلية عمل Bootstrap Aggregation
تبدأ عملية Bootstrap Aggregation باختيار عينات بشكل عشوائي من مجموعة البيانات الأصلية مع الاستبدال، مما يعني أن كل عنصر يمكن أن يظهر في أكثر من مجموعة فرعية واحدة. بعد ذلك، يتم تدريب نموذج منفصل على كل مجموعة فرعية. عند التنبؤ بالنتائج، يتم جمع مخرجات كل نموذج باستخدام طرق مثل التصويت للأغلبية في حالة التصنيف أو المتوسط في حالة الانحدار. بهذه الطريقة، يتم تخفيف التأثيرات السلبية للقيم الشاذة أو الضجيج في مجموعة البيانات.
تطبيق Bootstrap Aggregation في Python
لتطبيق Bootstrap Aggregation في Python، يمكن استخدام مكتبة Scikit-learn التي توفر تنفيذًا جاهزًا لهذه التقنية من خلال صنف BaggingClassifier أو BaggingRegressor. في المثال التالي، سنوضح كيفية استخدام BaggingClassifier لتحسين دقة نموذج شجرة القرار:
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import BaggingClassifier
from sklearn.metrics import accuracy_score
# تحميل مجموعة بيانات Iris
data = load_iris()
X, y = data.data, data.target
# تقسيم البيانات إلى مجموعة تدريب واختبار
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# إنشاء نموذج شجرة القرار
tree = DecisionTreeClassifier()
# تطبيق Bootstrap Aggregation باستخدام BaggingClassifier
bagging = BaggingClassifier(base_estimator=tree, n_estimators=50, random_state=42)
# تدريب النموذج
bagging.fit(X_train, y_train)
# التنبؤ باستخدام النموذج
y_pred = bagging.predict(X_test)
# حساب دقة النموذج
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
في هذا المثال، قمنا بتحميل مجموعة بيانات Iris وقسمناها إلى مجموعة تدريب واختبار. ثم استخدمنا شجرة قرار كنموذج أساسي وطبقنا Bootstrap Aggregation باستخدام 50 نموذج. أخيرًا، قمنا بحساب دقة النموذج المحسن.
