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

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

Meezo ML

السؤال

Recommended Posts

  • 0

الكلاسيفير المفضل لدي.
يمكنك استخدامه عن طريق الموديول:

sklearn.ensemble

الصيغة العامة:

sklearn.ensemble.ExtraTreesClassifier(n_estimators=100, criterion='gini', max_depth=None, min_samples_split=2, 											  min_samples_leaf=1, max_features='auto', max_leaf_nodes=None,
                                      bootstrap=False, oob_score=False,n_jobs=None, random_state=None,
                                      verbose=0, warm_start=False,ccp_alpha=0.0)

n_estimators : عدد أشجار القرار المستخدمة.  default=100
criterion: الأسلوب الرياضي للمعالجة وتكون {“gini”, “entropy”}, 'default='gini
max_depth   :  عمق الأشجار.
min_samples_split:الحد الأدنى لعدد العينات المطلوبة لتقسيم عقدة داخلية. int , default=2.
min_samples_leaf:  الحد الأدنى لعدد العينات المطلوبة في العقدة التي تمثل الاوراق.  default=1.
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.
bootstrap: لتحديد فيما إذا كان سيتم استخدام عينات ال bootstrap عند بناء الأشجار. في حال ضبطها على true سيتم استخدام كامل البيانات لبناء كل شجرة. افتراضياً تكون False.
oob_score: لتحديد فيما إذا كان سيتم استخدام عينات out-of-bag لتقدير قيمة التعميم "generalization score". ويجب أن تكون bootstrap مضبوطة على True لاستخدامها.
n_jobs: عدد المهام التي يتم تنفيذها بالتوازي. -1 للتنفيذ بأقصى سرعة ممكنة.
random_state: يتحكم بعملية التقسيم افتراضياً يكون None.
verbose: لعرض التفاصيل التي تحدث في التدريب. افاراضياً 0 أي لايظهر شيء، أما وضع أي قيمة أكبر من الصفر سيعرض التفاصيل int.
ccp_alpha: معامل تعقيد  يستخدم لتقليل التكلفة الزمانية والمكانية. non-negative float, default=0.0
التوابع:
fit(data): للقيام بعملية التدريب.
predict(data): لتوقع القيم.
score(data):  لتقييم كفاءة النموذج.
()get_params :لايجاد مقدار الدقة
predict_proba(data) : لعمل التوقع أيضاً لكن هنا سيخرج الفيمة الاحتمالية(أي لن يتم القصر على  عتبة)
apply(data):  ياتي لك بقيمة الورقة المحسوبة.
()get_n_leaves: يرد عدد الأوراق.
()get_depth: يرد عمق الشجرة.
ال attributtes:
classes_: لعرض ال labels التي وجدها.
n_classes_: عددها.
n_outputs_: عدد المرخرجات الناتجة عن عملية ال fitting.
estimators_: عرض معلومات عن كل الأشجار التي تم تشكيلها.
base_estimator_:عرض معلومات الشجرة الأساسية.
n_features_: عدد الفيتشرز.
مثال:

from sklearn.ensemble import ExtraTreesClassifier
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_breast_cancer
# تحميل البيانات
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)
# ExtraTreesClassifier تطبيق 
clf = ExtraTreesClassifier(n_estimators=150, random_state=444)
clf.fit(X_train, y_train)
# النتائج
print('ExtraTreesClassifier Train Score is : ' , clf.score(X_train, y_train)) # ExtraTreesClassifier Train Score is :  1.0
print('ExtraTreesClassifier Test Score is : ' , clf.score(X_test, y_test))   # ExtraTreesClassifier Test Score is :  0.9736842105263158

 

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...