Scikit-learn: min_weight_fraction_leaf اقترح تحسينات

تم إنشاؤها على ٢٨ يونيو ٢٠١٦  ·  3تعليقات  ·  مصدر: scikit-learn/scikit-learn

وصف

لقد كنت أستخدم المعلمة min_weight_fraction_leaf الخاصة بـ DecisionTreeClassifier و RandomForestClassifier بشكل غير صحيح وأعتقد أنه من المحتمل أن يقوم الآخرون بنفس الشيء مثلي.

على سبيل المثال ، توضح وثائق min_weight_fraction_leaf في DecisionTreeClassifier

الحد الأدنى للجزء المرجح لعينات الإدخال المطلوب أن يكون في عقدة ورقية.

لم يتضح لي حقًا ما تعنيه المستندات بعبارة "الجزء المرجح من عينات الإدخال". في البداية اعتقدت أنه كان ترجيحًا يعتمد على حجم الفئات أو القيم المعطاة بواسطة class_weight . أعتقد أن تغييرًا طفيفًا في وصف المعلمة يمكن أن يزيل هذا الالتباس. ربما شيء من هذا القبيل

يجب أن يكون الحد الأدنى للجزء المرجح لعينات الإدخال في عقدة ورقية حيث يتم تحديد الأوزان من خلال وزن العينة في طريقة () الملائمة.

علاوة على ذلك ، يبدو أنه لا يتم تطبيق min_weight_fraction_leaf إلا إذا تم توفير sample_weight في المكالمة fit() . إذا لم يتم توفير sample_weight في المكالمة إلى fit() ، فسيتم تجاهل min_weight_fraction_leaf بصمت. هنا ، أعتقد أن min_weight_fraction_leaf يجب أن يظل مطبقًا على افتراض أن جميع العينات متساوية الأهمية أو يجب إعطاء تحذير بأن min_weight_fraction_leaf لن يتم استخدامه نظرًا لعدم تقديم sample_weight .

إصدارات

داروين -15.5.0-x86_64-i386-64 بت
Python 3.5.1 | Continuum Analytics، Inc. | (افتراضي ، 7 كانون الأول (ديسمبر) 2015 ، 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)]
NumPy 1.11.0
SciPy 0.17.1.0 تحديث
Scikit-Learn 0.17.1.1 تحديث

أيضًا ، أود إجراء التغييرات التي اقترحتها (إذا كانت تستحق ذلك) ، لكن لدي القليل من الخبرة في المساهمة في المكتبات مفتوحة المصدر. قد تحتاج إلى القليل من الإمساك باليد إذا كان هناك من يرغب في مساعدتي.

Bug

التعليق الأكثر فائدة

أعتقد أنه إذا تم تعيين min_weight_fraction_leaf ولم يتم تقديم sample_weights ، فيجب أن يظهر خطأ أو يفترض أوزانًا موحدة. في هذه الحالة ، يكون الأمر زائدًا بعض الشيء مع min_samples_leaf لكنني أعتقد أن افتراض الأوزان الموحدة ستظل أفضل.

ال 3 كومينتر

يرجى تقديم PR

في 29 يونيو 2016 الساعة 06:09 ، كتب Ben [email protected] :

وصف

لقد كنت أستخدم المعلمة min_weight_fraction_leaf لـ
DecisionTreeClassifier و RandomForestClassifier بشكل غير صحيح وأعتقد
من المحتمل أن يفعل الآخرون نفس الشيء مثلي.

على سبيل المثال ، وثائق min_weight_fraction_leaf بتنسيق
DecisionTreeClassifier
http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
يقول

يجب أن يكون الحد الأدنى للكسر المرجح لعينات الإدخال عند أ
عقدة ورقة.

لم يتضح لي حقًا ما تعنيه المستندات بعبارة "الجزء المرجح من
عينات الإدخال ". في البداية اعتقدت أنه كان ترجيحًا يعتمد على
حجم الفئات أو القيم المعطاة بواسطة class_weight. أعتقد طفيف
التغيير في وصف المعلمة يمكن أن يزيل هذا الالتباس. ربما
شيء مثل

يجب أن يكون الحد الأدنى للكسر المرجح لعينات الإدخال عند أ
العقدة الورقية حيث يتم تحديد الأوزان من خلال وزن العينة في طريقة () الملائمة.

علاوة على ذلك ، يبدو أن min_weight_fraction_leaf ينطبق فقط إذا
يتم توفير sample_weight في ملاءمة الاستدعاء (). إذا لم يكن sample_weight
المقدمة في الاستدعاء لـ fit () ، min_weight_fraction_leaf يتم بصمت
تجاهله. هنا ، أعتقد أنه لا يزال يجب تطبيق min_weight_fraction_leaf تحت
الافتراض بأن جميع العينات متساوية في الترجيح أو يجب أن يكون التحذير
بالنظر إلى أن min_weight_fraction_leaf لن يُستخدم منذ sample_weight
لم تقدم.
إصدارات

داروين -15.5.0-x86_64-i386-64 بت
Python 3.5.1 | Continuum Analytics، Inc. | (افتراضي ، 7 كانون الأول (ديسمبر) 2015 ، 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)]
NumPy 1.11.0
SciPy 0.17.1.0 تحديث
Scikit-Learn 0.17.1.1 تحديث

-
أنت تتلقى هذا لأنك مشترك في هذا الموضوع.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/scikit-learn/scikit-learn/issues/6945 ، أو كتم صوت
مسلك
https://github.com/notifications/unsubscribe/AAEz6xE2BmEJHo6hGgTWoigsPutoD4_nks5qQX9zgaJpZM4JAe96
.

أعتقد أنه إذا تم تعيين min_weight_fraction_leaf ولم يتم تقديم sample_weights ، فيجب أن يظهر خطأ أو يفترض أوزانًا موحدة. في هذه الحالة ، يكون الأمر زائدًا بعض الشيء مع min_samples_leaf لكنني أعتقد أن افتراض الأوزان الموحدة ستظل أفضل.

أعتقد أن هذا مشابه لـ min_samples_leaf . بدلاً من طلب عدد مطلق من العينات في كل عقدة طرفية ، يوفر min_weight_fraction_leaf خيار طلب جزء صغير من العينات (أو الأوزان) في كل ورقة. يعتمد ما إذا كان النموذج يستخدم أوزانًا للعينات على class_weight .

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات