اذهب إلى المحتوى
  • 0

تطبيق خوارزمية AdaBoostClassifier باستخدام مكتبة Sklearn

Meezo ML

السؤال

Recommended Posts

  • 1

يمكنك استخدامها عبر الموديول:

sklearn.ensemble.AdaBoostClassifier(base_estimator=None, n_estimators=50, learning_rate=1.0, algorithm='SAMME.R', random_state=None)

base_estimator: ال estimator الأساسي الذي تبنى منه باقي المجموعة المعززة (boosted ensemble). افتراضياً None. ويفضل تركه none ليعطي أفضل النتائج في حال لم تكن لديك خبرة.
n_estimators : عدد الخوارزميات أو ال estimator  المستخدمة.  default=50.
learning_rate: مقدار معامل التعلم (حجم الخطوة)، ويأخذ فيمة من النمط float.
algorithm: لتحديد الخوارزمية التي تريد تنفيذها لكي تحصل على التقارب converge وهناك خوارزميتين فقط {‘SAMME’, ‘SAMME.R’}. و SAMME.R تعتبر أسرع في الوصول للتقارب وتعطي نتيجة أفضل حقيقة (عن تجربة). افتراضياً SAMME.R.
random_state: يتحكم بعملية التقسيم افتراضياً يكون None.
التوابع:
fit(data): للقيام بعملية التدريب.
predict(data): لتوقع القيم.
score(data):  لتقييم كفاءة النموذج.
()get_params :لايجاد مقدار الدقة
predict_proba(data) : لعمل التوقع أيضاً لكن هنا سيخرج الفيمة الاحتمالية(أي لن يتم القصر على  عتبة)
ال attributtes:
classes_: لعرض ال labels التي وجدها.
n_classes_: عدد ال labels.
estimator_weights_: أوزان كل estimator تم تطبيقه.
estimators_: عرض معلومات عن ال estimator التي تم تشكيلها.
base_estimator_:عرض معلومات ال estimator الأساسية
feature_importances_: عرض أهم الفيتشرز المؤثرة في التصنيف.
مثال:

from sklearn.model_selection import train_test_split
from sklearn.ensemble import AdaBoostClassifier
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)
# AdaBoostClassifier تطبيق 
clf = AdaBoostClassifier(n_estimators=150, random_state=444)
clf.fit(X_train, y_train)
# النتائج
print('AdaBoostClassifier Train Score is : ' , clf.score(X_train, y_train)) # AdaBoostClassifier Train Score is :  1.0
print('AdaBoostClassifier Test Score is : ' , clf.score(X_test, y_test))   # AdaBoostClassifier Test Score is :  0.9824561403508771
# عرض مصفوفة التشتت 
c = confusion_matrix(y_test, clf.predict(X_test))
print('Confusion Matrix is : \n', c)
#لرسم المصفوفة  
sns.heatmap(c, center = True)
plt.show()

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...