cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • New to JMP? Join us Sept. 23-24 for the Early User Edition of Discovery Summit, tailor-made for new users. Register now for free!
  • Use World Cup data to build models, explore spatial relationships, and create informative visualizations in JMP. Register. July 17, 2 pm US Eastern Time.
  • Your voice matters! Tell us how you prefer to receive JMP updates, so we can tailor our communication to your needs. Take short survey.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
rugolf
Level I

Arbres de classification

Bonjour,

J'ai un petit fichier (voir fichier joint) pour mieux comprendre ce que JMP calcule.

L'arbre est assez réduit, j'ai fixé la taille mini d'un noeud à 1, j'ai effectué les divisions une par une, j'ai demandé à ce que les probas soient affichées.

Maintenant, je suis focus sur le noeud "X1>=14"  et si j'ai bien compris :

  1. le G^2 (3,82) caractérise l'impureté de ce noeud et est indépendant de la "meilleure" division qui vient en dessous
  2. le Logworth (1,05) se calcule avec le G^2 affiché juste à côté 
  3. le Logworth dépend de la "meilleure" division qui est affichée juste en dessous, il est calculé à partir d'une p-value ajustée obtenue à partir de toutes les coupures possibles

Les points 2 et 3 semblent incompatibles.

Le learnbot de JMP a, pour une fois, calé, et voit 2 interprétations possibles mais incompatibles.

Alors, d'où sort ce 1,05 et comment l'interpréter ?

Merci pour votre réponse.

Jean-Luc

3 REPLIES 3
Victor_G
Super User

Re: Arbres de classification

Hello @rugolf,

Je pense qu'il y a confusion dans la définition et l'utilisation des deux métriques G2 et Logworth.
Comme mentionné dans l'aide JMP, l'arbre de décision dans JMP utilise le Logworth comme critère de décision pour savoir où réaliser le split (dans le but de maximiser le Logworth), et qui correspond à -log10(pvalue). Cette p-value est calculée avec un ajustement, non détaillé dans l'aide, qui permet d'avoir un calcul juste et équitable entre les facteurs avec beaucoup de niveaux ou peu de niveaux.

Le G2 est affiché pour les réponses catégorielles uniquement, et un faible G2 indiqué un meilleur ajustement. Pour les réponses continues, l'écart-type est affiché pour chaque node, ainsi que le Candidate SS (somme des carrés pour le meilleur split).

J'espère que cette réponse apportera des éclaircissements au fonctionnement de cette plateforme,

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)
rugolf
Level I

Re: Arbres de classification

Merci,

Si j'ai bien compris, dans le cas d'une réponse catégorielle avec 2 catégories A et B :

  1. le G^2 mesure l'impureté du noeud (on dit aussi la déviance) : 0 si que du A ou que du B, des classes déséquilibrées mais pas d'autre division à partir de ce nœud
  2. le max du G^2 (égal à n *2ln(2)  il me semble) si les classes sont équilibrées (autant de A que de B)
  3. le G^2 diminue à chaque division pendant que le R^2 augmente, ça va dans le bon sens, c'est ce que l'on veut 
  4. on pourrait calculer l'amélioration (le gain) à l'issue d'une division G^2(parent)-(G^2(gauche)+G^2(droite))
  5. la meilleure coupure est celle qui donne la meilleure amélioration, celle qui fait le plus diminuer le G^2 d'avant
  6. logworth=-log(p-value) avec p-value associée à un test et ajustée (je laisse tomber le calcul, pas grave)
  7. le logworth affiché à côté du G^2 concerne la meilleure division affichée juste en dessous
  8. le test est H_0 : à gauche et à droite la proportion de A est la même vs ....n'est la même
  9. cas extrême : p-value=1 donc logworth=0 lorsque même proportion de A (et de B) dans les noeuds enfants, H_0 retenue à l'issue du test
  10. ca extrême : p-value=0 donc logworth=infini lorsque la proportion de A est très différente dans les noeuds enfants, H_1 retenue à l'issue du test
  11. p-value <0,01 donc logworth>2 donc une différence de proportion de A (ou de B) significative, un discernement significatif
  12. la meilleure coupure est donc aussi celle avec le logworth le plus élevé
  13. l'arbre s'arrête lorsque le G^2 est nul ou lorsque la taille mini est atteinte ou lorsque le R^2 n'augmente plus beaucoup

 

Merci pour votre aide.

Rugolf ou Jean-Luc

Victor_G
Super User

Re: Arbres de classification

Hello Jean-Luc,


Concernant les différentes parties:

  • Oui, le G2 est équivalent à d'autres critères utilisés comme l'impureté de Gini ou l'entropy. G2 correspond à deux fois le log naturel de l'entropy. Donc si on trouve une séparation permettant d'obtenir des nodes "purs" (parfaite séparation), alors G2 est nul (entropie nulle).
  • A chaque split, G2 va diminuer car on va de mieux en mieux classer les observations à l'aide des facteurs.
  • L'amélioration du G2 est calculée et visible dans les infos des nodes (Candidate G2)
  • Concernant le Logworth, une p-value est bien calculée pour l'obtenir, mais seulement dans un but d'orienter et choisir le meilleur split. Le test derrière cette p-value correspond aux hypothèses que vous mentionnez : H0 - les proportions de A et B sont équivalentes dans les deux nodes vs. H1 - les proportions de A et B sont différentes dans les deux nodes.
  • Comme mentionné dans ma première réponse, le split optimal est celui correspondant au Logworth le plus élevé.
  • Les critères d'arrêt de l'arbre sont lié à la taille minimale pour le split (minimum size split, réglable dans les options), en choisissant une profondeur d'arbre, ou une valeur/évolution de R2 (éventuellement avec un échantillon de validation pour repérer le moment où le R2 n'évolue plus/peu sur l'échantillon de validation), etc...
    L'évolution du R² en fonction des splits peut se voir dans le "Split History":
    Victor_G_0-1784186236685.png
  • C'est un détail, mais sur le jeu de données partagé, il semblerait que le split optimal soit plutôt à X1 > ou < à 10 (plus grand Logworth qu'à 14) :
    Victor_G_1-1784186306273.png

    A une valeur de 14 pour X1, la séparation n'est pas optimale, et je ne retrouve pas les valeurs que vous mentionniez en Logworth ou G2:

    Victor_G_2-1784186391732.png
  • De plus, les facteurs X1 et X2 étant très fortement corrélés (corrélation > 0,99), un arbre de décision n'est peut-être pas la méthode la plus appropriée, car l'une des deux variables sera forcément ignorée par rapport à l'autre ; une méthode tenant compte de cette corrélation serait plus appropriée :
    • Soit à travers un modèle de régression logistique pénalisée (ridge ou même lasso vu que les deux facteurs contiennent la même information), voire un simple modèle logistique avec un facteur (X1 ou X2) avec la plateforme Fit Y by X :
      Victor_G_3-1784186906730.png
    • Soit en choisissant une méthode basée sur les arbres qui permettent de gérer la corrélation/collinéarité entre les facteurs, comme la Random Forest (plateforme Bootstrap Forest dans JMP), ou d'autres modèles de Machine Learning (Support Vector Machine). 

      Il existe des jeux de données JMP pour mieux apprendre et comprendre le fonctionnement de certaines plateformes, que vous pouvez retrouver dans le menu "Aide" et "Sample Index". Dans le sous-menu "Exploratory Modeling" plusieurs jeux de données sont disponibles et faisant intervenir la plateforme Partition: Car Poll, Cereal, Diamonds Data, Mushroom, Titanic Passengers, etc...
      Victor_G_4-1784187422338.png

       

En espérant que cette réponse clarifie le fonctionnement de la plateforme Partition,

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)

Recommended Articles