J'ai utilisé le paramètre min_weight_fraction_leaf
de DecisionTreeClassifier et RandomForestClassifier de manière incorrecte et je pense qu'il est probable que d'autres personnes fassent la même chose que moi.
Par exemple, la documentation pour min_weight_fraction_leaf
dans DecisionTreeClassifier dit
La fraction pondérée minimale des échantillons d'entrée requis pour être au niveau d'un nœud feuille.
Je ne savais vraiment pas ce que les documents entendaient par «fraction pondérée des échantillons d'entrée». Au départ, je pensais que c'était une pondération basée sur la taille des classes ou les valeurs données par class_weight
. Je pense qu'un léger changement dans la description des paramètres pourrait dissiper cette confusion. Peut-être quelque chose comme
La fraction pondérée minimale des échantillons d'entrée devant être au niveau d'un nœud feuille où les poids sont déterminés par sample_weight dans la méthode fit ().
De plus, il semble que min_weight_fraction_leaf
ne s'applique que si sample_weight
est fourni dans l'appel fit()
. Si sample_weight
n'est pas fourni dans l'appel à fit()
, min_weight_fraction_leaf
est ignoré en silence. Ici, je pense que min_weight_fraction_leaf
devrait toujours s'appliquer sous l'hypothèse que tous les échantillons sont également pondérés OU un avertissement devrait être donné que min_weight_fraction_leaf
ne sera pas utilisé car sample_weight
n'a pas été fourni.
Darwin-15.5.0-x86_64-i386-64bit
Python 3.5.1 | Continuum Analytics, Inc. | (par défaut, 7 décembre 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
J'adorerais également apporter les modifications que j'ai suggérées (si elles sont jugées dignes), mais j'ai peu d'expérience en contribuant aux bibliothèques open-source. Il faudrait peut-être un peu de main dans la main si quelqu'un serait prêt à m'aider.
Veuillez soumettre un PR
Le 29 juin 2016 à 06:09, Ben [email protected] a écrit:
La description
J'ai utilisé le paramètre min_weight_fraction_leaf de
DecisionTreeClassifier et RandomForestClassifier incorrectement et je pense
il est probable que d'autres personnes fassent la même chose que moi.Par exemple, la documentation de min_weight_fraction_leaf dans
DecisionTreeClassifier
http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
ditLa fraction pondérée minimale des échantillons d'entrée requise pour être à un
noeud feuille.Je ne savais vraiment pas ce que la documentation entendait par "fraction pondérée de
les échantillons d'entrée ". Au départ, je pensais que c'était une pondération basée sur le
taille des classes ou des valeurs données par class_weight. Je pense un léger
une modification de la description des paramètres pourrait dissiper cette confusion. Peut-être
quelque chose commeLa fraction pondérée minimale des échantillons d'entrée requise pour être à un
nœud feuille où les poids sont déterminés par sample_weight dans la méthode fit ().De plus, il semble que min_weight_fraction_leaf ne s'applique que si
sample_weight est fourni dans l'appel fit (). Si sample_weight n'est pas
fourni dans l'appel à fit (), min_weight_fraction_leaf est silencieusement
ignoré. Ici, je pense que min_weight_fraction_leaf devrait toujours s'appliquer sous
l'hypothèse que tous les échantillons ont la même pondération OU un avertissement doit être
étant donné que min_weight_fraction_leaf ne sera pas utilisé car sample_weight
n'a pas été fourni.
VersionsDarwin-15.5.0-x86_64-i386-64bit
Python 3.5.1 | Continuum Analytics, Inc. | (par défaut, 7 décembre 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-
Vous recevez ceci parce que vous êtes abonné à ce fil de discussion.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/scikit-learn/scikit-learn/issues/6945 , ou désactivez le
fil
https://github.com/notifications/unsubscribe/AAEz6xE2BmEJHo6hGgTWoigsPutoD4_nks5qQX9zgaJpZM4JAe96
.
Je pense que si min_weight_fraction_leaf
est défini et qu'aucun sample_weights
n'est fourni, cela devrait générer une erreur ou supposer des poids uniformes. Dans ce cas, c'est un peu redondant avec min_samples_leaf
mais je pense que supposer des poids uniformes serait toujours mieux.
Je pense que c'est similaire à min_samples_leaf
. Au lieu d'exiger un nombre absolu d'échantillons dans chaque nœud feuille, min_weight_fraction_leaf
offre la possibilité d'exiger une fraction d'échantillons (ou poids) dans chaque feuille. Le fait que le modèle utilise des poids pour les échantillons dépend de la class_weight
.
Commentaire le plus utile
Je pense que si
min_weight_fraction_leaf
est défini et qu'aucunsample_weights
n'est fourni, cela devrait générer une erreur ou supposer des poids uniformes. Dans ce cas, c'est un peu redondant avecmin_samples_leaf
mais je pense que supposer des poids uniformes serait toujours mieux.