Meezo ML نشر 13 يونيو 2021 أرسل تقرير مشاركة نشر 13 يونيو 2021 كيف نقوم بتطبيق خوارزمية Gradient Boosting لمهمة تصنيف Classification باستخدام مكتبة Sklearn؟ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Ali Haidar Ahmad نشر 13 يونيو 2021 أرسل تقرير مشاركة نشر 13 يونيو 2021 (معدل) يمكنك ذلك عن طريق الموديول: ensemble.GradientBoostingClassifier الصيغة العامة: sklearn.ensemble.GradientBoostingClassifier(loss='deviance', learning_rate=0.1, n_estimators=100, subsample=1.0, criterion='friedman_mse', min_samples_split=2, min_samples_leaf=1, max_depth=3, random_state=None, max_features=None, verbose=0, max_leaf_nodes=None, validation_fraction=0.1, n_iter_no_change=None, tol=0.0001, ccp_alpha=0.0) الوسطاء: loss: معادلة التكلفة المستخدمة. {‘deviance’, ‘exponential’}, 'default=’deviance n_estimators : عدد مراحل ال boosting المستخدمة. default=100 learning_rate: قيمة معامل التعلم افتراضياً 0.1. criterion: الأسلوب الرياضي للمعالجة (قياس جودة الانقسام) وتكون {‘friedman_mse’, ‘mse’, ‘mae’}, 'default=’friedman_mse max_depth : عمق الأشجار. min_samples_split:الحد الأدنى لعدد العينات المطلوبة لتقسيم عقدة داخلية. int , default=2. min_samples_leaf: الحد الأدنى لعدد العينات المطلوبة في العقدة التي تمثل الاوراق. default=1. random_state: يتحكم بعملية التقسيم افتراضياً يكون None. verbose: لعرض التفاصيل التي تحدث في التدريب. افاراضياً 0 أي لايظهر شيء، أما وضع أي قيمة أكبر من الصفر سيعرض التفاصيل int. max_features:العدد المناسب من الفيتشرز التي يتم احتسابها {“auto”, “sqrt”, “log2”}. في حال auto: max_features=sqrt(n_features). sqrt: ax_features=sqrt(n_features). log2: max_features=log2(n_features). None: max_features=n_features. إذا وضعت قيمة float: max_features=int(max_features * n_features) قيمة int: سيتم أخذ ال features عند كل تقسيمة ك max_features. validation_fraction: النسبة التي سيتم اقتطاعها من عينة التدريب للاستخدام كعينة تطوير. افتراضياً 0.1 n_iter_no_change: لتطبيق مفهوم التوقف المبكر "early stopping" (إيقاف التدريب عندما تتوقف عينة التطةير عن التحسن). افتراضياً None أي لن تطبق، إذا أسندت لها أي عدد صحيح سيتم تطبيقه. tol: مقدار السماحية في التقاربم من القيم المثالية. افتراضياً 0.0001 ccp_alpha: معامل تعقيد يستخدم لتقليل التكلفة الزمانية والمكانية. non-negative float, default=0.0 ال attributtes: classes_: لعرض ال labels التي وجدها. n_outputs_: عدد المخرجات الناتجة عن عملية ال fitting. estimators_: عرض معلومات عن كل الخوارزميات التي تم تشكيلها. feature_importances_: عرض أهم الفيتشرز المؤثرة في التوقع. n_features_: عدد الفيتشرز. التوابع: fit(data): للقيام بعملية التدريب. predict(data): لتوقع القيم. score(data): لتقييم كفاءة النموذج. ()get_params :لايجاد مقدار الدقة. predict_proba(data) : لعمل التوقع أيضاً لكن هنا سيخرج الفيمة الاحتمالية(أي لن يتم القصر على عتبة) apply(data): ياتي لك بقيمة الورقة المحسوبة. مثال: # استيراد المكتبات from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.ensemble import GradientBoostingClassifier from sklearn.metrics import confusion_matrix import seaborn as sns import matplotlib.pyplot as plt #تحميل البيانات data = load_breast_cancer().data labels = load_breast_cancer().target # تقسيم البيانات X_train, X_test, y_train, y_test = train_test_split(data, labels, test_size=0.2, random_state=2021, shuffle =True) # RandomForestClassifier تطبيق GBCM = GradientBoostingClassifier(n_estimators=110,max_depth=1,random_state=44,n_iter_no_change=1) GBCM.fit(X_train, y_train) print('Train Score is : ' , GBCM.score(X_train, y_train)) # Train Score is : 0.9758241758241758 print('Test Score is : ' , GBCM.score(X_test, y_test)) # Test Score is : 0.9649122807017544 #print('No. of n_classes_ are : ' , GBCM.n_classes_) # No. of n_classes_ are : 2 #print('No. of features are :', GBCM.n_features_) # No. of features are : 30 # عرض معلومات عن كل الأشجار التي تم تشكيلها #print(GBCM.estimators_) # عرض أهم الفيتشرز #print( GBCM.feature_importances_) تم التعديل في 13 يونيو 2021 بواسطة Ali Haidar Ahmad 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Meezo ML
كيف نقوم بتطبيق خوارزمية Gradient Boosting لمهمة تصنيف Classification باستخدام مكتبة Sklearn؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.