2015-02-09 15 views
5

In der ensemble Methoden Dokumentation von Scikit-Learn http://scikit-learn.org/stable/modules/ensemble.html#id6 in Abschnitt 1.9.2.3. Parameter lesen wir:Unklare RandomForest Dokumentation in ScikitLearn

(...) Die besten Ergebnisse werden auch in der Regel erreicht, wenn max_depth = None in Kombination mit min_samples_split = 1 (das heißt, wenn sie vollständig auf die Bäume zu entwickeln) zu setzen. Bedenken Sie jedoch, dass diese Werte in der Regel nicht optimal sind. Die besten Parameterwerte sollten immer kreuzvalidiert werden.

Was ist der Unterschied zwischen den besten Ergebnissen und optimal? Ich dachte, dass der Autor nach besten Ergebnissen die besten kreuzvalidierten Vorhersageergebnisse liefert.

Beachten Sie außerdem, dass Bootstrap-Beispiele standardmäßig in zufälligen Gesamtstrukturen (Bootstrap = True) verwendet werden, während die Standardstrategie das ursprüngliche Dataset zum Erstellen von Extra-Bäumen verwendet (bootstrap = False).

Ich verstehe dies auf folgende Weise: Bootstrapping standardmäßig verwendet wird, in Scikit-Learns Umsetzung aber die Standard-Strategie ist es, nicht Verwendung Bootstrapping. Wenn ja, was ist die Quelle der Standardstrategie und warum ist sie nicht der Standard in der Implementierung?

Antwort

3

Ich stimme zu, das erste Zitat ist in sich widersprüchlich. Vielleicht ist die folgende wäre besser: sind

Die besten Ergebnisse auch oft mit voll entwickelten Bäume erreicht (max_depth = None und min_samples_split = 1). Bedenken Sie jedoch, dass diese Werte in der Regel nicht optimal sind. Die besten Parameterwerte sollten immer kreuzvalidiert werden.

Für das zweite Zitat, vergleicht es den Standardwert des bootstrap Parameter für zufällige Wälder (RandomForestClassifier und RandomForestRegression) Bäume zu extrem randomisierten als ExtraTreesClassifier und ExtraTreesRegressor in den Klassen implementiert. Die folgende möglicherweise deutlicher:

Darüber hinaus beachten Sie, dass Bootstrap-Stichproben standardmäßig verwendet werden in zufälligen Wäldern (Bootstrap = True), während für den Aufbau von extra Bäumen der Standardstrategie ist es, die ursprünglichen Daten-Set (Bootstrap verwenden = Falsch).

Bitte zögern Sie nicht, eine PR mit dem Update einzureichen, wenn Sie diese Formulierungen klarer zu verstehen finden.

+0

Danke, das macht es klar. Bitte lassen Sie mich wissen, was eine PR ist, dann werde ich es tun :) –

+0

Siehe https://github.com/scikit-learn/scikit-learn/pull/4233 –

+0

PR steht für "Pull-Anfrage". Es ist die Standardmethode, um zu einem Open-Source-Projekt beizutragen, das auf github.com gehostet wird – ogrisel