Documentation du code

class moteur_id3.noeud_de_decision.NoeudDeDecision(attribut, donnees, enfants=None)

Un noeud dans un arbre de décision.

__init__(attribut, donnees, enfants=None)
Paramètres:
  • attribut – l’attribut de partitionnement du noeud (None si le noeud est un noeud terminal).
  • donnees (list) – la liste des données qui tombent dans la sous-classification du noeud.
  • enfants – un dictionnaire associant un fils (sous-noeud) à chaque valeur de l’attribut du noeud (None si le noeud est terminal).
__repr__()

Représentation sous forme de string de l’arbre de décision duquel le noeud courant est la racine.

classe()

Si le noeud est terminal, retourne la classe des données qui tombent dans la sous-classification (dans ce cas, toutes les données font partie de la même classe.

classifie(donnee)

Classifie une donnée à l’aide de l’arbre de décision duquel le noeud courant est la racine.

Paramètres:donnee – la donnée à classifier.
Retourne:la classe de la donnée selon le noeud de décision courant.
repr_arbre(level=0)

Représentation sous forme de string de l’arbre de décision duquel le noeud courant est la racine.

terminal()

Vérifie si le noeud courant est terminal.

class moteur_id3.id3.ID3

Algorithme ID3.

construit_arbre(donnees)

Construit un arbre de décision à partir des données d’apprentissage.

Paramètres:donnees (list) – les données d’apprentissage [classe, {attribut -> valeur}, ...].
Retourne:une instance de NoeudDeDecision correspondant à la racine de l’arbre de décision.
construit_arbre_recur(donnees, attributs)

Construit rédurcivement un arbre de décision à partir des données d’apprentissage et d’un dictionnaire liant les attributs à la liste de leurs valeurs possibles.

Paramètres:
  • donnees (list) – les données d’apprentissage [classe, {attribut -> valeur}, ...].
  • attributs – un dictionnaire qui associe chaque attribut A à son domaine de valeurs a_j.
Retourne:

une instance de NoeudDeDecision correspondant à la racine de l’arbre de décision.

h_C_A(donnees, attribut, valeurs)

H(C|A) - l’entropie de la classe après avoir choisi de partitionner les données suivant les valeurs de l’attribut A.

Paramètres:
  • donnees (list) – les données d’apprentissage.
  • attribut – l’attribut A.
  • valeurs (list) – les valeurs a_j de l’attribut A.
Retourne:

H(C|A)

h_C_aj(donnees, attribut, valeur)

H(C|a_j) - l’entropie de la classe parmi les données pour lesquelles l’attribut A vaut a_j.

Paramètres:
  • donnees (list) – les données d’apprentissage.
  • attribut – l’attribut A.
  • valeur – la valeur a_j de l’attribut A.
Retourne:

H(C|a_j)

p_aj(donnees, attribut, valeur)

p(a_j) - la probabilité que la valeur de l’attribut A soit a_j.

Paramètres:
  • donnees (list) – les données d’apprentissage.
  • attribut – l’attribut A.
  • valeur – la valeur a_j de l’attribut A.
Retourne:

p(a_j)

p_ci_aj(donnees, attribut, valeur, classe)

p(c_i|a_j) - la probabilité conditionnelle que la classe C soit c_i étant donné que l’attribut A vaut a_j.

Paramètres:
  • donnees (list) – les données d’apprentissage.
  • attribut – l’attribut A.
  • valeur – la valeur a_j de l’attribut A.
  • classe – la valeur c_i de la classe C.
Retourne:

p(c_i | a_j)

partitionne(donnees, attribut, valeurs)

Partitionne les données sur les valeurs a_j de l’attribut A.

Paramètres:
  • donnees (list) – les données à partitioner.
  • attribut – l’attribut A de partitionnement.
  • valeurs (list) – les valeurs a_j de l’attribut A.
Retourne:

un dictionnaire qui associe à chaque valeur a_j de l’attribut A une liste l_j contenant les données pour lesquelles A vaut a_j.