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ó.
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.
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
diceLa 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 comoLa 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ó.
VersionesDarwin-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
.
Comentario más útil
Creo que si se establece
min_weight_fraction_leaf
y no se proporcionasample_weights
, debería generar un error o asumir pesos uniformes. En este caso, es un poco redundante conmin_samples_leaf
pero creo que asumir pesos uniformes sería mejor.