Comment puis-je trouver les attributs de mon arbre se divise sur, lors de l'utilisation de scikit-learn?
J'explore le scikit-learn, de décision les arbres de décision à la fois de l'entropie et de l'indice de gini de fractionnement des critères, et d'explorer les différences.
Ma question, est de savoir comment je peux "ouvrir le capot" et de savoir exactement quels sont les attributs les arbres sont fractionnement à chaque niveau, ainsi que leurs valeurs d'informations, afin que je puisse voir où les deux critère de faire des choix différents?
Jusqu'à présent, j'ai exploré le 9 méthodes décrites dans la documentation. Ils ne semblent pas permettre l'accès à cette information. Mais sûrement, cette information est accessible? Je suis envisageant une liste ou dict qui possède des entrées pour le nœud et le gain.
Merci pour votre aide et toutes mes excuses si j'ai oublié quelque chose de tout à fait évident.
Vous devez vous connecter pour publier un commentaire.
Directement à partir de la documentation ( http://scikit-learn.org/0.12/modules/tree.html ):
Il y a aussi le
tree_
attribut dans votre arbre de décision de l'objet, qui permet l'accès direct à l'ensemble de la structure.Et vous pouvez simplement lire
pour plus de détails, regardez la le code source de la méthode d'exportation
En général, vous pouvez utiliser le
inspect
modulepour obtenir tous les éléments de l'objet
Si vous voulez juste un rapide coup d'oeil à ce qui se passe dans l'arbre, essayez:
où X est la trame de données de variables indépendantes et de la fcf est la décision objet de l'arborescence. Notez que
clf.tree_.children_left
etclf.tree_.children_right
ensemble contiennent l'ordre que les divisions ont été faites (chacun de ces correspondrait à une flèche dans la graphviz visualisation).