Je suis un débutant en apprentissage automatique et j'expérimente des arbres de décision. Je regarde cette visualisation d'un arbre de décision http://scikit-learn.org/dev/_images/iris.svg et je me demande ce que signifie la valeur de l'erreur. Est-ce l'indice de Gini ou le gain d'information ou quoi? J'apprécierais aussi ce que cela signifie intuitivement.Scikit Decistion Tree Visualisation: signification de la valeur d'erreur
Répondre
Dans cet exemple concret, «l'erreur» d'un nœud est l'indice de Gini de tous les exemples ayant atteint ce nœud.
En général, "l'erreur" d'un noeud dépend du critère d'impureté concret (par exemple, gini ou entropie pour la classification et erreur quadratique moyenne pour la régression). Intuitivement, vous pouvez penser aux deux critères d'impureté (gini et entropie) comme mesure de l'homogénéité d'un multi-ensemble. Un multi-ensemble est homogène s'il contient la plupart du temps des éléments d'un type (on l'appelle aussi "pur", d'où le nom "critère d'impureté"). Dans notre cas, les éléments du multi-jeu sont les étiquettes de classe qui atteignent le nœud correspondant. Lorsque nous divisons un nœud, nous voulons que les partitions résultantes soient pures - ce qui signifie que les classes sont bien séparées (une partition contient principalement des instances d'une classe).
Dans le cas de criterion="entropy"
et classification binaire d'une erreur de 1,0 signifie qu'il y a un nombre égal d'exemples positifs et négatifs dans le noeud (le plus ensemble dans plusieurs homogène).
Vous pouvez accéder à la structure de données d'arbre qui est à la base d'un DecisionTreeClassifier
ou DecisionTreeRegressor
via son tree_
attribut qui est titulaire d'un objet sur le type d'extension sklearn.tree._tree.Tree
. Cet objet représente l'arbre sous la forme d'une série de tableaux numpy parallèles. Le tableau init_error
contient l'erreur initiale de chaque noeud; best_error
contient la somme des erreurs des deux partitions si le nœud est un nœud de division. Reportez-vous à la documentation de la classe au https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx#L45 pour plus de détails.
- 1. Scikit: Modification de la valeur de C
- 2. La signification de selectObjId
- 3. La signification de OEMData
- 4. Qt: signification de la valeur de retour de l'emplacement?
- 5. NHibernate: Signification des intercepteurs valeur de retour
- 6. signification de la valeur renvoyée de [NSThread currentThread]
- 7. La signification de ':' et '?'
- 8. Visualisation de la liste
- 9. Informix: La signification de point (.)?
- 10. Visualisation d'arbres et animation
- 11. Signification de !! en javascript
- 12. Signification particulière pour la valeur du pointeur 0x7c7c7c7c
- 13. Comment obtenir Intellisense pour afficher la signification d'une valeur enum
- 14. Quelle est la signification du caractère spécial en valeur constante
- 15. Représentant «Aucune valeur» dans le tableau dans la visualisation Google
- 16. scikit adaboost feature_importance_
- 17. Scikit apprendre erreur d'importation
- 18. Quelle est la signification de `/ * @`?
- 19. La signification de android: colorForeground
- 20. Quelle est la signification de []
- 21. Signification de la fonction Angularjs
- 22. la signification de l'objet allégé
- 23. Visualisation de la chronologie Javascript
- 24. Bargraphes: Fixation de la visualisation
- 25. Visualisation de la structure arborescente
- 26. L'opération de suppression dans Red Black Tree
- 27. scikit-learn profondeur de noeud de l'arbre de décision
- 28. Rendre scikit déterministe?
- 29. Oracle Visualisation matérialisée Visualisation de l'heure
- 30. signification de '+ ='
La signification intuitive est simple: c'est un proxy pour la véritable erreur de classification si vous traversez l'arbre jusqu'à ce noeud, puis faites la prédiction qu'il conseille (apparemment pas montré dans l'image ...). –