sklearn scikit run learn how forest example classifier python scikit-learn random-forest

python - run - scikit learn



Documentación de RandomForest no concluyente en ScikitLearn (1)

Estoy de acuerdo que la primera cita es contradictoria. Tal vez lo siguiente sería mejor:

Los mejores resultados también se alcanzan a menudo con árboles completamente desarrollados (max_depth = None y min_samples_split = 1). Sin embargo, tenga en cuenta que estos valores no suelen ser óptimos. Los mejores valores de parámetros siempre se deben validar de forma cruzada.

Para la segunda cita, compara el valor predeterminado del parámetro bootstrap para bosques aleatorios ( RandomForestClassifier y RandomForestRegression ) con árboles extremadamente aleatorios tal como se implementa en las clases ExtraTreesClassifier y ExtraTreesRegressor . Lo siguiente podría ser más explícito:

Además, tenga en cuenta que las muestras de arranque se utilizan de forma predeterminada en bosques aleatorios (bootstrap = True) mientras que para construir árboles extra la estrategia predeterminada es usar el conjunto de datos original (bootstrap = False).

Por favor, siéntase libre de enviar un PR con la solución si encuentra esas formulaciones más claras para entender.

En la documentación de métodos de conjunto de Scikit-Learn http://scikit-learn.org/stable/modules/ensemble.html#id6 en la sección 1.9.2.3. Parámetros que leemos:

(...) Los mejores resultados también se alcanzan cuando se establece max_depth = None en combinación con min_samples_split = 1 (es decir, cuando se desarrollan completamente los árboles). Sin embargo, tenga en cuenta que estos valores generalmente no son óptimos. Los mejores valores de parámetros siempre se deben validar de forma cruzada.

Entonces, ¿cuál es la diferencia entre los mejores resultados y óptimos? Pensé que, según los mejores resultados, el autor significa los mejores resultados de predicción cruzada.

Además, tenga en cuenta que las muestras de arranque se utilizan de forma predeterminada en bosques aleatorios (bootstrap = True) mientras que la estrategia predeterminada es usar el conjunto de datos original para construir árboles adicionales (bootstrap = False).

Entiendo esto de la siguiente manera: bootstrapping se utiliza por defecto en la implementación de Scikit-Learns, pero la estrategia predeterminada es no utilizar el arranque. Si es así, ¿cuál es la fuente de la estrategia predeterminada y por qué no es la predeterminada en la implementación?