Ich habe den Parameter min_weight_fraction_leaf
von DecisionTreeClassifier und RandomForestClassifier falsch verwendet, und ich denke, es ist wahrscheinlich, dass andere Leute dasselbe tun wie ich.
In der Dokumentation zu min_weight_fraction_leaf
in DecisionTreeClassifier heißt es beispielsweise
Der minimal gewichtete Anteil der Eingabeproben, der sich an einem Blattknoten befinden muss.
Mir war wirklich unklar, was die Dokumente unter "gewichteter Bruchteil der eingegebenen Stichproben" verstehen. Anfangs dachte ich, es sei eine Gewichtung basierend auf der Größe der Klassen oder den Werten von class_weight
. Ich denke, eine geringfügige Änderung der Parameterbeschreibung könnte diese Verwirrung beseitigen. Vielleicht so etwas
Der minimale gewichtete Anteil der Eingabe-Samples, der sich an einem Blattknoten befinden muss, an dem die Gewichte durch sample_weight in der fit () -Methode bestimmt werden.
Darüber hinaus scheint min_weight_fraction_leaf
nur dann zu gelten, wenn sample_weight
im Aufruf fit()
. Wenn sample_weight
im Aufruf von fit()
, wird min_weight_fraction_leaf
stillschweigend ignoriert. Hier denke ich, dass min_weight_fraction_leaf
weiterhin unter der Annahme gelten sollte, dass alle Stichproben gleich gewichtet sind, ODER dass eine Warnung gegeben werden sollte, dass min_weight_fraction_leaf
nicht verwendet wird, da sample_weight
nicht bereitgestellt wurde.
Darwin-15.5.0-x86_64-i386-64bit
Python 3.5.1 | Continuum Analytics, Inc. | (Standard, 7. Dezember 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. Build 5577)]
NumPy 1.11.0
SciPy 0.17.1
Scikit-Learn 0.17.1
Ich würde auch gerne die von mir vorgeschlagenen Änderungen vornehmen (wenn sie als würdig erachtet werden), aber ich habe wenig Erfahrung damit, zu Open-Source-Bibliotheken beizutragen. Könnte ein bisschen Händchenhalten brauchen, wenn jemand bereit wäre, mir zu helfen.
Bitte reichen Sie eine PR ein
Am 29. Juni 2016 um 06:09 schrieb Ben [email protected] :
Beschreibung
Ich habe den Parameter min_weight_fraction_leaf von verwendet
DecisionTreeClassifier und RandomForestClassifier falsch und ich denke
Es ist wahrscheinlich, dass andere Leute das Gleiche tun wie ich.Zum Beispiel die Dokumentation für min_weight_fraction_leaf in
DecisionTreeClassifier
http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
sagtDer minimal gewichtete Anteil der eingegebenen Proben muss bei a liegen
Blattknoten.Es war mir wirklich unklar, was die Dokumente mit "gewichteter Bruchteil von" meinten
die Eingabebeispiele ". Anfangs dachte ich, es sei eine Gewichtung basierend auf dem
Größe der Klassen oder der durch class_weight angegebenen Werte. Ich denke ein wenig
Eine Änderung der Parameterbeschreibung könnte diese Verwirrung beseitigen. Vielleicht
etwas wieDer minimal gewichtete Anteil der eingegebenen Proben muss bei a liegen
Blattknoten, bei dem die Gewichte durch sample_weight in der fit () -Methode bestimmt werden.Außerdem scheint min_weight_fraction_leaf nur dann zu gelten, wenn
sample_weight wird im Aufruf fit () bereitgestellt. Wenn sample_weight nicht ist
min_weight_fraction_leaf wird im Aufruf von fit () stillschweigend bereitgestellt
ignoriert. Hier denke ich, dass min_weight_fraction_leaf immer noch unter gelten sollte
die Annahme, dass alle Proben gleich gewichtet sind ODER eine Warnung sein sollte
vorausgesetzt, min_weight_fraction_leaf wird seit sample_weight nicht mehr verwendet
wurde nicht zur Verfügung gestellt.
VersionenDarwin-15.5.0-x86_64-i386-64bit
Python 3.5.1 | Continuum Analytics, Inc. | (Standard, 7. Dezember 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. Build 5577)]
NumPy 1.11.0
SciPy 0.17.1
Scikit-Learn 0.17.1- -
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/scikit-learn/scikit-learn/issues/6945 oder stummschalten
Faden
https://github.com/notifications/unsubscribe/AAEz6xE2BmEJHo6hGgTWoigsPutoD4_nks5qQX9zgaJpZM4JAe96
.
Ich denke, wenn min_weight_fraction_leaf
gesetzt ist und kein sample_weights
, sollte dies entweder einen Fehler auslösen oder einheitliche Gewichte annehmen. In diesem Fall ist es mit min_samples_leaf
etwas überflüssig, aber ich denke, dass die Annahme einheitlicher Gewichte immer noch besser wäre.
Ich denke, das ist ähnlich wie min_samples_leaf
. Anstatt eine absolute Anzahl von Proben in jedem Blattknoten zu erfordern, bietet min_weight_fraction_leaf
die Option, einen Bruchteil von Proben (oder Gewichten) in jedem Blatt zu benötigen. Ob das Modell Gewichte für Stichproben verwendet, hängt von class_weight
.
Hilfreichster Kommentar
Ich denke, wenn
min_weight_fraction_leaf
gesetzt ist und keinsample_weights
, sollte dies entweder einen Fehler auslösen oder einheitliche Gewichte annehmen. In diesem Fall ist es mitmin_samples_leaf
etwas überflüssig, aber ich denke, dass die Annahme einheitlicher Gewichte immer noch besser wäre.