Meezo ML نشر 20 يونيو 2021 أرسل تقرير نشر 20 يونيو 2021 كيف نقوم بتطبيق خوارزمية BaggingClassifier باستخدام مكتبة Sklearn؟ اقتباس
1 Ali Haidar Ahmad نشر 20 يونيو 2021 أرسل تقرير نشر 20 يونيو 2021 (معدل) يمكنك القيام بذلك عن طريق الموديول ensemble في مكتبة Sklearn. BaggingClassifier(base_estimator=None, n_estimators=10,max_samples=1.0, bootstrap=True, oob_score=False, n_jobs=None, random_state=None, verbose=0) base_estimator: ال estimator الأساسي الذي سيتم استخدامه لعمل fitting على مجموعات فرعية عشوائية من مجموعة البيانات. افتراضياً يكون DecisionTreeClassifier. أي إذا وضعت None. (يقبل object) n_estimators: عدد ال estimator التي تريد أن يتم تطبيقها. افتراضياً 10. bootstrap: لتحديد فيما ما إذا كان سيتم سحب العينات مع الاستبدال. إذا كان Flase، سيتم إجراء أخذ العينات بدون استبدال. oob_score: لتحديد فيما إذا كان سيتم استخدام عينات out-of-bag لتقدير قيمة التعميم "generalization score". ويجب أن تكون bootstrap مضبوطة على True لاستخدامها. n_jobs: عدد المهام التي يتم تنفيذها بالتوازي. -1 للتنفيذ بأقصى سرعة ممكنة. random_state: يتحكم بعملية التقسيم افتراضياً يكون None. verbose: يتحكم بال verbosity أثناء التدريب والتنبؤ. التوابع: fit(data): للقيام بعملية التدريب. predict(data): لتوقع القيم. score(data): لتقييم كفاءة النموذج. predict_proba(data) : لعمل التوقع أيضاً لكن هنا سيخرج الفيمة الاحتمالية(أي لن يتم القصر على عتبة) apply(data): ياتي لك بقيمة الورقة المحسوبة. ()get_n_leaves: يرد عدد الأوراق. ()get_depth: يرد عمق الشجرة. ال attributtes: classes_: لعرض ال labels التي وجدها. n_outputs_: عدد المرخرجات الناتجة عن عملية ال fitting. estimators_: عرض معلومات عن كل ال estimator التي تم تشكيلها. base_estimator_:عرض معلومات ال estimator الأساسية. n_features_: عدد الفيتشرز. مثال: from sklearn.ensemble import BaggingClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import confusion_matrix from sklearn.datasets import load_breast_cancer import seaborn as sns import matplotlib.pyplot as plt # تحميل البيانات Data = load_breast_cancer() X = Data.data y = Data.target # تقسيم البيانات إلى عينات تدريب واختبار X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=44, shuffle =True) # BaggingClassifier تطبيق clf = BaggingClassifier(n_estimators=150, random_state=444) clf.fit(X_train, y_train) # النتائج print('BaggingClassifier Train Score is : ' , clf.score(X_train, y_train)) # BaggingClassifier Train Score is : 1.0 print('BaggingClassifier Test Score is : ' , clf.score(X_test, y_test)) # BaggingClassifier Test Score is : 0.0.9649122807017544 # عرض مصفوفة التشتت c = confusion_matrix(y_test, clf.predict(X_test)) print('Confusion Matrix is : \n', c) #لرسم المصفوفة sns.heatmap(c, center = True) plt.show() تم التعديل في 20 يونيو 2021 بواسطة Ali Haidar Ahmad 1 اقتباس
1 ريم المهدي نشر 23 يونيو 2021 أرسل تقرير نشر 23 يونيو 2021 لابد أنك تعلم أن ensemble techniques عموماً تعطي نتائج أفضل من إستخدام مصنف واحد لانها تعطي نتائج أكثر دقة و تتم بإستخدام طريقتين إما Averaging إيجاد القيمة المتوسطة لمجموعة من المصنفات، أو بإستخدام boosting وهي الطريقة التي تتم فيها إستخدام مصنفات بصورة متتالية وكل منها يقوم بإنقاص الbais في النموذج النهائي. من خوارزميات التي تعتمد على القيمة المتوسطة Bagging methods and Random Forest. BaggingClassifier هي إحدي طرق ال bagging methods و التي تأخذ إما مصنف محدد من قبل المستخدم أو تقوم بإستخدام DecisionTreeClassifier كمصنف إفتراضي. لقد قام @Ali Haidar Ahmad بتغطية مثال BaggingClasifier بإستخدام المصنف الإفتراضي DecisionTreeClassifier و سأقوم بإعطاءك مثال بإستخدام SVC كمصنف و إنشاء البيانات عن طريق دالة make_classification التي تنشئ بيانات عشوائية لإستخدامها في عملية التصنيف: from sklearn.svm import SVC from sklearn.ensemble import BaggingClassifier from sklearn.datasets import make_classification X, y = make_classification(n_samples=100, n_features=4) clf = BaggingClassifier(base_estimator=SVC(),n_estimators=10, max_samples=100) clf = clf.fit(X, y) clf.predict([[0, 0, 0, 0]]) أول ثلاثة سطور عبارة عن عمليات إستدعاء للدوال التي سنقوم بإستخدامها، تليها عملية توليد بيانات بإستخدام make_classification والتي تقوم بإنشاء 100 صف لعدد أربعة أعمدة تمثل خصائص البيانات أو ما يسمي ب features وذلك عن طريق تحديد القيمة 4 ل n_features. و الان لنأتي لعملية إستخدام المصنف BaggingClassifier و التي تستقبل SVC كمصنف و تنشئ منه 10 مصنفات أخرى و التي تستخدم البيانات كاملة (max_samples=100) لعملية تدريب كل مصنف SVC النتيجة النهائية التي ينتجها كل مصنف تؤثر في القيمة النهائية لعملية الprediction. بعد ذلك نقوم بتدريب clf و هو المصنف الذي يحتوى على المصنفات العشرة، و أخيراً عملية التوقع للمدخل [0,0,0,0] والذي يقوم بإعطاء الناتج في شكل قيمة واحدة إما صفر أو واحد (لاننا عرفنا y كمتغير به 100 قيمة كلها عبارة عن أصفار أو أحاد حسب الصنف للقيم X المدخلة). 1 اقتباس
السؤال
Meezo ML
كيف نقوم بتطبيق خوارزمية BaggingClassifier باستخدام مكتبة Sklearn؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.