Documentation du code¶
-
class
id3.ID3¶ Instance de classification ID3
-
construit_arbre(attributs, exemples, classes)¶ Construit un arbre de decision a partir des exemples d’apprentissage
Paramètres: - attributs – un dictionnaire qui fait correspondre chaque attribut a son domaine de valeurs
- exemples (list) – les exemples pour l’apprentissage [classe, {attribut -> valeur}]
- classes (list) – les classes des exemples
Retourne: une instance Noeud correspondant a la racine de l’arbre
-
entropie(attribut, valeurs, exemples, classes)¶ H(C|A) - l’entropie de la classe apres avoir choisi de partitionner les exemples suivant les valeurs de l’attribut A
Paramètres: - attribut – l’attribut A
- valeurs (list) – les valeurs a_j de l’attribut A
- exemples (list) – les exemples pour l’apprentissage
- classes (list) – les classes des exemples
Retourne: H(C|A)
-
entropie_conditionnelle(attribut, valeur, exemples, classes)¶ H(C|a_j) - l’entropie de la classe parmi les exemples pour lesquels l’attribut A vaut a_j
Paramètres: - attribut – l’attribut A
- valeur – la valeur a_j de l’attribut A
- exemples (list) – les exemples pour l’apprentissage
- classes (list) – les classes des exemples
Retourne: H(C|a_j)
-
p(attribut, valeur, exemples, classe=None)¶ p(a_j) - la probabilite que la valeur de l’attribut A soit a_j. p(c_i | a_j) - la probabilite conditionnelle que la classe soit c_i etant donne que l’attribut A vaut a_j
Paramètres: - attribut – l’attribut A
- valeur – la valeur a_j de l’attribut A
- exemples (list) – les exemples pour l’apprentissage
- classe – None ou une classe c_i des exemples
Retourne: si classe est None p(a_j), sinon p(c_i | a_j)
-
partitions(attribut, valeurs, exemples)¶ Partitionne les exemples sur les valeurs d’un attribut.
Paramètres: - attribut – l’attribut A de partitionnement
- valeurs (list) – les valeurs a_j de l’attribut A
- exemples (list) – les exemples a partitioner
Retourne: une liste de liste. Chaque sous-liste l_j contient les exemples pour lesquels l’attribut A vaut a_j
-
-
class
id3.Noeud(attribut, exemples, enfants=None)¶ Un noeud de l’arbre de decision ID3
-
__init__(attribut, exemples, enfants=None)¶ Paramètres: - attribut – l’attribut de partitionnement du noeud (None si le noeud est terminal)
- exemples (list) – la liste des exemples qui tombent dans la sous-classification du noeud
- enfants (list) – liste des enfants du noeud (None si le noeud est terminal)
-
classe()¶ Si le noeud est terminal, retourne la classe des exemples
Si le noeud est terminal, tous les exemples qui tombent dans la sous-classification du noeud font partie de la meme classe
-
classifie(exemple)¶ Classe un exemple a l’aide d’un arbre de decision
Paramètres: exemple – l’exemple a classifier Retourne: la classe de l’exemple selon l’arbre de decision
-
terminal()¶ Verifie si le noeud est terminal
-