2017-09-29 1 views
3

Je passais par sklearn classe DecisionTreeClassifier.Différence entre min_samples_split et min_samples_leaf dans sklearn DecisionTreeClassifier

En regardant les paramètres pour la classe, nous avons deux paramètres min_samples_split et min_samples_leaf. L'idée de base qui les sous-tend est similaire, vous spécifiez un nombre minimum d'échantillons requis pour décider qu'un noeud doit être fendu ou séparé. Pourquoi avons-nous besoin de deux paramètres lorsque l'un implique l'autre?. Y a-t-il une raison ou un scénario qui les distingue?

+0

https://discuss.analyticsvidhya.com/t/what-does-min-samples-split-means-in-decision-tree/6233/2 –

+0

@Abhishek, merci pour le lien. Alex et le lien m'ont aidé à le comprendre maintenant. –

+0

Il y a une autre grande discussion de cela ici, y compris les diagrammes https://github.com/scikit-learn/scikit-learn/issues/8399 – cardamom

Répondre

3

De la documentation:

La principale différence entre les deux est que min_samples_leaf garantit un nombre minimum d'échantillons dans une feuille, tandis que min_samples_split peut créer de petites arbitraires feuilles, bien que min_samples_split est plus fréquent dans la littérature.

Pour obtenir une bonne compréhension de cette partie de la documentation, je pense que vous devriez faire la distinction entre une feuille (également appelé noeud externe) et un noeud interne . Un nœud interne aura d'autres divisions (également appelées enfants), alors qu'une feuille est par définition un nœud sans enfants (sans autre division).

min_samples_split spécifie le nombre minimal d'échantillons requis pour diviser un noeud interne , tandis que min_samples_leaf spécifie le nombre minimal d'échantillons requis pour être à un nœud feuille .

Par exemple, si min_samples_split = 5, et il y a 7 échantillons dans un nœud interne, la division est autorisée. Mais disons que la division se traduit par deux feuilles, une avec 1 échantillon et une autre avec 6 échantillons. Si min_samples_leaf = 2, la division ne sera pas autorisée (même si le nœud interne a 7 échantillons) car l'un des résultats obtenus aura moins que le nombre minimum d'échantillons requis pour être à un nœud feuille. Comme le mentionne la documentation mentionnée ci-dessus, min_samples_leaf garantit un nombre minimum d'échantillons dans chaque feuille, peu importe la valeur de min_samples_split.

+0

Merci @Alex. Je comprends maintenant. min_samples_split ne garantit pas les échantillons min dans le noeud feuille mais min_samples_leaf. –