Scikit-learn: min_weight_fraction_leaf mejoras sugeridas

Creado en 28 jun. 2016  ·  3Comentarios  ·  Fuente: scikit-learn/scikit-learn

Descripción

He estado usando el parámetro min_weight_fraction_leaf de DecisionTreeClassifier y RandomForestClassifier incorrectamente y creo que es probable que otras personas estén haciendo lo mismo que yo.

Por ejemplo, la documentación de min_weight_fraction_leaf en DecisionTreeClassifier dice

La fracción ponderada mínima de las muestras de entrada necesarias para estar en un nodo hoja.

No me quedó muy claro qué querían decir los documentos con "fracción ponderada de las muestras de entrada". Inicialmente pensé que era una ponderación basada en el tamaño de las clases o los valores dados por class_weight . Creo que un ligero cambio en la descripción del parámetro podría aclarar esta confusión. Tal vez algo como

La fracción ponderada mínima de las muestras de entrada necesarias para estar en un nodo hoja donde los pesos se determinan mediante sample_weight en el método fit ().

Además, parece que min_weight_fraction_leaf solo se aplica si se proporciona sample_weight en la llamada fit() . Si sample_weight no se proporciona en la llamada a fit() , min_weight_fraction_leaf se ignora silenciosamente. Aquí, creo que min_weight_fraction_leaf aún debería aplicarse bajo el supuesto de que todas las muestras tienen el mismo peso O se debe dar una advertencia de que min_weight_fraction_leaf no se usará ya que sample_weight no se proporcionó.

Versiones

Darwin-15.5.0-x86_64-i386-64bit
Python 3.5.1 | Continuum Analytics, Inc. | (predeterminado, 7 de diciembre de 2015, 11:24:55)
[GCC 4.2.1 (compilación 5577 de Apple Inc.)]
NumPy 1.11.0
CIENCIA 0.17.1
Scikit-Learn 0.17.1

Además, me encantaría hacer los cambios que sugerí (si se consideran dignos), pero tengo poca experiencia en la contribución a las bibliotecas de código abierto. Podría necesitar un poco de apoyo si alguien estuviera dispuesto a ayudarme.

Bug

Comentario más útil

Creo que si se establece min_weight_fraction_leaf y no se proporciona sample_weights , debería generar un error o asumir pesos uniformes. En este caso, es un poco redundante con min_samples_leaf pero creo que asumir pesos uniformes sería mejor.

Todos 3 comentarios

Envíe un PR

El 29 de junio de 2016 a las 06:09, Ben [email protected] escribió:

Descripción

He estado usando el parámetro min_weight_fraction_leaf de
DecisionTreeClassifier y RandomForestClassifier incorrectamente y creo
es probable que otras personas estén haciendo lo mismo que yo.

Por ejemplo, la documentación de min_weight_fraction_leaf en
DecisionTreeClassifier
http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
dice

La fracción mínima ponderada de las muestras de entrada requeridas para estar en un
nodo hoja.

No me quedó muy claro qué querían decir los documentos con "fracción ponderada de
las muestras de entrada ". Al principio pensé que era una ponderación basada en
tamaño de las clases o los valores dados por class_weight. Creo que un ligero
un cambio en la descripción del parámetro podría aclarar esta confusión. Quizás
algo como

La fracción mínima ponderada de las muestras de entrada requeridas para estar en un
nodo hoja donde los pesos se determinan mediante sample_weight en el método fit ().

Además, parece que min_weight_fraction_leaf solo se aplica si
sample_weight se proporciona en la llamada fit (). Si sample_weight no es
proporcionado en la llamada a fit (), min_weight_fraction_leaf es silenciosamente
ignorado. Aquí, creo que min_weight_fraction_leaf aún debería aplicarse en
la suposición de que todas las muestras tienen el mismo peso O se debe incluir una advertencia
dado que min_weight_fraction_leaf no se utilizará desde sample_weight
no se proporcionó.
Versiones

Darwin-15.5.0-x86_64-i386-64bit
Python 3.5.1 | Continuum Analytics, Inc. | (predeterminado, 7 de diciembre de 2015, 11:24:55)
[GCC 4.2.1 (compilación 5577 de Apple Inc.)]
NumPy 1.11.0
CIENCIA 0.17.1
Scikit-Learn 0.17.1

-
Estás recibiendo esto porque estás suscrito a este hilo.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/scikit-learn/scikit-learn/issues/6945 , o silenciar el
hilo
https://github.com/notifications/unsubscribe/AAEz6xE2BmEJHo6hGgTWoigsPutoD4_nks5qQX9zgaJpZM4JAe96
.

Creo que si se establece min_weight_fraction_leaf y no se proporciona sample_weights , debería generar un error o asumir pesos uniformes. En este caso, es un poco redundante con min_samples_leaf pero creo que asumir pesos uniformes sería mejor.

Creo que esto es similar a min_samples_leaf . En lugar de requerir un número absoluto de muestras en cada nodo hoja, min_weight_fraction_leaf ofrece la opción de requerir una fracción de muestras (o pesos) en cada hoja. Si el modelo está usando pesos para las muestras depende de class_weight .

¿Fue útil esta página
0 / 5 - 0 calificaciones