Amélioré la structure de l'arbre

This commit is contained in:
François Pelletier 2019-04-29 08:54:15 -04:00
parent 2734ebfb76
commit 108839fcea

View file

@ -65,13 +65,13 @@ class DecisionTree: #nom de la class à changer
classes_uniques = np.unique(train_labels)
# la feuille est vide
if (n_examples == 0):
return self.plurality_value(parent_examples)
return list(("Feuille",self.plurality_value(parent_examples)))
# tous les exemples ont la même classe
elif len(classes_uniques)==1:
return classes_uniques[0]
return list(("Feuille",classes_uniques[0]))
# la liste d'attributs est vides
elif (sum(attributes)==0):
return self.plurality_value(train_labels)
return list(("Feuille",self.plurality_value(train_labels)))
else:
# Calcul du gain
attr = np.where(attributes==1)[0]
@ -86,7 +86,6 @@ class DecisionTree: #nom de la class à changer
a_max = attr[pos_gain_max]
a_max_split = a_split[pos_gain_max]
tree = []
tree.append(("Test",a_max,a_max_split))
attributes[a_max]=0
# pour chaque valeur de l'attribut, faire un sous-arbre
for v in [True,False]: