def tree_predict ( x , root , proba = False , regression = False ) : if isinstance ( root , Leaf ) : if proba : return root . probabilities elif regression : return root . mean else : return root . most_frequent if root . question . match ( x ) : return tree_predict ( x , root . true_branch , proba = proba , regression = regression ) else : return tree_predict ( x , root . false_branch , proba = proba , regression = regression )
python leaf values predict
Predicts a probabilities / value / label for the sample x .
def tree_predict(x, root, proba=False, regression=False):
    """Predicts a probabilities/value/label for the sample x.
    """

    if isinstance(root, Leaf):
        if proba:
            return root.probabilities
        elif regression:
            return root.mean
        else:
            return root.most_frequent

    if root.question.match(x):
        return tree_predict(x, root.true_branch, proba=proba, regression=regression)
    else:
        return tree_predict(x, root.false_branch, proba=proba, regression=regression)