def mdclassify(observation, tree):
if tree.results != None:
return tree.results
else:
v = observation[tree.col]
if v == None:
tr, fr = mdclassify(observation, tree.tb), mdclassify(observation, tree.fb)
tcount = sum(tr.values())
fcount = sum(fr.values())
tw = float(tcount) / (tcount + fcount)
fw = float(fcount) / (tcount + fcount)
result = {}
for k, v in tr.items(): result[k] = v * tw
for k, v in fr.items(): result[k] = v * fw
return result
else:
if 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 mdclassify(observation, branch)
decision_tree_manual_classifier.py 文件源码
python
阅读 22
收藏 0
点赞 0
评论 0
评论列表
文章目录