February 2008
Intermediate to advanced
400 pages
10h
German
Nun brauchen Sie noch eine Funktion, die eine neue Beobachtung erwartet und sie nach Vorgabe des Entscheidungsbaums klassifiziert. Fügen Sie diese Funktion der Datei treepredict.py hinzu:
def classify(observation,tree):
if tree.results!=None:
return tree.results
else:
v=observation[tree.col]
branch=Noneif isinstance(v,int) or isinstance(v,float): if v>=tree.value: branch=tree.tb else: branch=tree.fb else: if v==tree.value: branch=tree.tb else: branch=tree.fb return classify(observation,branch)
Diese Funktion arbeitet sich durch den Baum auf die gleiche Weise durch, wie es printtree tut. Nach jedem Aufruf prüft sie, ob das Ende dieses Zweigs erreicht wurde, indem sie results kontrolliert. Wenn nicht, wertet sie ...