在进行案例分析前,先对决策树算法的分类函数进行测试。考虑到构造决策树非常耗时,为了节省计算时间,最好能够在每次执行分类时调用已经构造好的决策树。这就需要利用python模块pickle序列化对象将决策树分类算法保存在磁盘中,并在需要的时候读取出来。
1、测试决策树分类算法性能
######################################
#功能:决策树的分类函数
#输入变量:input_tree, feat_labels, test_vec
# 决策树,分类标签,测试数据
#输出变量:class_label 类标签
######################################
def classify(input_tree, feat_labels, test_vec):
first_str = input_tree.keys()[0]
second_dict = input_tree[first_str]
class_label = -1
# index方法用于查找当前列表中第一个匹配first_str变量的索引
feat_index = feat_labels.index(first_str)
for key in second_dict.keys():
if test_vec[feat_index] == key: