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 (
Nonesi 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 (
Nonesi le noeud est terminal).
- attribut – l’attribut de partitionnement du noeud (
-
__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.
- donnees (list) – les données d’apprentissage
-
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.
-