机器学习之--使用决策树分类测试数据(递归)

def classfify(mytree,testdata,labels):
    # print('mytree:{},testdata:{},labels:{}'.format(mytree,testdata,labels))
    firststr = list(mytree.keys())[0]                   #树中的第一个keys值获取,即第一个特征值名称
    # print('firststr:',firststr)
    index = labels.index(firststr)                      #第一个特征值对应labels中的序号
    second_dict = mytree[firststr]                      #第一个特征值对应的value字典
    value = testdata[index]
    third = second_dict[value]                          #value值后 下一个特征值(字典 or 结果)
    if isinstance(third,dict):                          #如果是字典,继续递归
        return classfify(third,testdata,labels)
    else:                                               #否则则是结果,直接返回
        return third
原文地址:https://www.cnblogs.com/cxhzy/p/10637518.html