Bonjour à tous,
J’ai récemment découvert les arbres de décisions et je travaille actuellement sur un petit programme en vue d’implémenter l’algorithme ID3 en VB.Net.Malheureusement je rencontre quelques soucis concernant certains calculs d'entropie...
Je travaille actuellement sur le dataset suivant:
Dataset :
Et à la fin,je devrais obtenir l'arbre suivant :
Sur la détermination du noeud principal,tout se passe bien et je retombe bien sur les même valeurs de gain que celles trouvées dans les PPT / PDF récoltés sur internet.
Néanmoins, j’ai quelques soucis lors de la phase de calcul de l’entropie au niveau de la 2eme boucle,dans la branche qui génère le subset Outlook=Sunny :
Sur le calcul de l’entropie du subset,pas de problèmes :
Entropie (S[outlook=Sunny]) = -p(I) log2 p(I)
= - [P(Playtennis=True)*Log2 P(Playtennis=True)] – [P(Playtennis=No)*Log2 P(Playtennis=No)]
= -[(2/5) log2 (2/5)] – [(3/5) log2 (3/5)]
= 0.970
Par contre,sur ce dernier screenshoot, je ne comprends pas d’où viennent les 0 dans le calcul du gain [S(sunny),humidity].Est ce que quelqu'un pourrait me fournir le détail des calculs d'entropie concernant cet attribut Humidity?
Merci d'avance pour votre aide!!
Jeremy
Partager