def lenseTree(): fr = open('../../../../data/3.DecisionTree/lenses.txt') dataSet = [data.strip().split('\t') for data in fr.readlines()] features = ['age', 'prescript', 'astigmatic', 'tearRate'] tree = createTree(dataSet, features) print("lense tree:", tree) dtPlot.createPlot(tree)
def fishTest(): # 1.创建数据和结果标签 myDat, labels = createDataSet() # print myDat, labels # 计算label分类标签的香农熵 # calcShannonEnt(myDat) # # 求第0列 为 1/0的列的数据集【排除第0列】 # print '1---', splitDataSet(myDat, 0, 1) # print '0---', splitDataSet(myDat, 0, 0) # # 计算最好的信息增益的列 # print chooseBestFeatureToSplit(myDat) import copy myTree = createTree(myDat, copy.deepcopy(labels)) print myTree # [1, 1]表示要取的分支上的节点位置,对应的结果值 print classify(myTree, labels, [1, 1]) # 获得树的高度 print get_tree_height(myTree) # 画图可视化展现 dtPlot.createPlot(myTree)
def ContactLensesTest(): """ Desc: 预测隐形眼镜的测试代码 Args: none Returns: none """ # 加载隐形眼镜相关的 文本文件 数据 fr = open( 'F:/学习文档/机器学习/MachineLearning-master/input/3.DecisionTree/lenses.txt') # 解析数据,获得 features 数据 lenses = [inst.strip().split('\t') for inst in fr.readlines()] # 得到数据的对应的 Labels lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] # 使用上面的创建决策树的代码,构造预测隐形眼镜的决策树 lensesTree = createTree(lenses, lensesLabels) print(lensesTree) # 画图可视化展现 dtPlot.createPlot(lensesTree) #fishTest() #ContactLensesTest()
def fishTest(): dataSet, labels = createDataSet() import copy tree = createTree(dataSet, copy.deepcopy(labels)) print("tree:", tree) print(classify(tree, labels, [0, 0])) dtPlot.createPlot(tree)
def fishTest(): """ Desc: 对动物是否是鱼类分类的测试函数,并将结果使用 matplotlib 画出来 Args: None Returns: None """ # 1.创建数据和结果标签 myDat, labels = createDataSet() # print(myDat, labels) # 计算label分类标签的香农熵 # calcShannonEnt(myDat) # # 求第0列 为 1/0的列的数据集【排除第0列】 # print('1---', splitDataSet(myDat, 0, 1)) # print('0---', splitDataSet(myDat, 0, 0)) # # 计算最好的信息增益的列 # print(chooseBestFeatureToSplit(myDat)) import copy myTree = createTree(myDat, copy.deepcopy(labels)) print(myTree) # [1, 1]表示要取的分支上的节点位置,对应的结果值 print(classify(myTree, labels, [1, 1])) # 画图可视化展现 dtPlot.createPlot(myTree)
def fishTest(): # 1.创建数据和结果标签 myDat, labels = createDataSet() # print myDat, labels # 计算label分类标签的香农熵 # calcShannonEnt(myDat) # # 求第0列 为 1/0的列的数据集【排除第0列】 # print '1---', splitDataSet(myDat, 0, 1) # print '0---', splitDataSet(myDat, 0, 0) # # 计算最好的信息增益的列 # print chooseBestFeatureToSplit(myDat) import copy myTree = createTree(myDat, copy.deepcopy(labels)) print myTree # [1, 1]表示要取的分支上的节点位置,对应的结果值 print classify(myTree, labels, [1, 1]) # 获得树的高度 print get_tree_height(myTree) # 画图可视化展现 dtPlot.createPlot(myTree)
def ContactLensesTest(): fr = open('data/3.DecisionTree/lenses.txt') lenses = [inst.strip().split('\t') for inst in fr.readlines()] lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] lensesTree = createTree(lenses, lensesLabels) print(lensesTree) dtPlot.createPlot(lensesTree)
def fishTest(): # 1.创建数据和结果标签 myDat, labels = createDataSet() myTree = createTree(myDat, copy.deepcopy(labels)) print(myTree) print(classify(myTree, labels, [1, 0])) dtPlot.createPlot(myTree)
def fishTest(): """ Desc: 对动物是否是鱼类分类的测试函数,并将结果使用 matplotlib 画出来 Args: None Returns: None """ # 1.创建数据和结果标签 myDat, labels = createDataSet() # print(myDat, labels) # 计算label分类标签的香农熵 # calcShannonEnt(myDat) # # 求第0列 为 1/0的列的数据集【排除第0列】 # print('1---', splitDataSet(myDat, 0, 1)) # print('0---', splitDataSet(myDat, 0, 0)) # # 计算最好的信息增益的列 # print(chooseBestFeatureToSplit(myDat)) import copy myTree = createTree(myDat, copy.deepcopy(labels)) print(myTree) # [1, 1]表示要取的分支上的节点位置,对应的结果值 print(classify(myTree, labels, [1, 1])) # 画图可视化展现 dtPlot.createPlot(myTree)
def fishTest(): myDat, labels = createDataSet() import copy myTree = createTree(myDat, copy.deepcopy(labels)) print(myTree) print(classify(myTree, labels, [1, 1])) dtPlot.createPlot(myTree)
def test(): # 1.创建数据和结果标签 data_set, labels = get_iris_data() import copy des_tree = create_tree(data_set, copy.deepcopy(labels)) print(des_tree) # print(classify(des_tree, labels, [1, 0])) decisionTreePlot.createPlot(des_tree)
def fishTest(): #1, Create data & result label myDat, labels = createDataSet() import copy myTree = createTree(myDat, copy.deepcopy(labels)) print(myTree) print(classify(myTree, labels, [1, 1])) #draw dtPlot.createPlot(myTree)
def ContactLensesTest(): ''' 预测隐形眼镜的测试代码,并将结果画出来 :return: ''' fr = open('lenses.txt') lenses = [inst.strip().split('\t') for inst in fr.readlines()] lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] lensesTree = createTree(lenses, lensesLabels) print(lensesTree) # 画图可视化展现 dtPlot.createPlot(lensesTree)
def fishTest(): ''' 对动物是否是鱼类分类的测试函数,并将结果使用 matplotlib 画出来 :return: ''' myDat, labels = createDataSet() import copy myTree = createTree(myDat, copy.deepcopy(labels)) print(myTree) print(classify(myTree, labels, [1, 1])) # 画图可视化展现 dtPlot.createPlot(myTree)
def ContactLensesTest(): # 加载隐形眼镜相关的 文本文件 数据 fr = open('data/lenses.txt') # 解析数据,获得 features 数据 lenses = [inst.strip().split('\t') for inst in fr.readlines()] # 得到数据的对应的 Labels lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] # 使用上面的创建决策树的代码,构造预测隐形眼镜的决策树 lensesTree = createTree(lenses, lensesLabels) print("决策树是:", lensesTree) print("树的高度是:", get_tree_height(lensesTree)) # 画图可视化展现 dtPlot.createPlot(lensesTree)
def fishTest(): import copy #1.创建数据和结果标签 myDat, labels = createDataSet() myTree = createTree(myDat, copy.deepcopy(labels)) print("决策树是:", myTree) #2.分类树的存取 storeTree(myTree, 'dt.txt') #3.测试决策树分类器,测试数据为(1,1) print("分类的结果是:", classify(myTree, labels, [1, 1])) #4.获得树的高度 print("树的高度是:", get_tree_height(myTree)) #5.画图可视化展现fishTest dtPlot.createPlot(myTree) #6.打印取出的树 print("存储后取出的树是:", grabTree('dt.txt'))
def ContactLensesTest(): """ Desc: 预测隐形眼镜的测试代码,并将结果画出来 Args: none Returns: none """ with open(path + '/Data/lenses.txt', 'r') as fr: lenses = [inst.strip().split('\t') for inst in fr.readlines()] # 得到数据的对应的 Labels lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] # 使用上面的创建决策树的代码,构造预测隐形眼镜的决策树 lensesTree = createTree(lenses, lensesLabels) print(lensesTree) # 画图可视化展现 dtPlot.createPlot(lensesTree)
def ContactLensesTest(): """ 预测隐形眼镜的测试代码,并将结果画出来 Args: none Returns: none """ # 加载隐形眼镜相关的 文本文件 数据 fr = open('../data/ch03/lenses.txt') # 解析数据,获得 features 数据 lenses = [inst.strip().split('\t') for inst in fr.readlines()] # 得到数据的对应的 Labels lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] # 使用上面的创建决策树的代码,构造预测隐形眼镜的决策树 lensesTree = createTree(lenses, lensesLabels) print(lensesTree) # 画图可视化展现 dtPlot.createPlot(lensesTree)
def ContactLensesTest(): """ Desc: 预测隐形眼镜的测试代码 Returns: none """ # 加载隐形眼镜相关的 文本文件 数据 fr = open( '/Users/wangjf/Workspace/AiLearning/data/3.DecisionTree/lenses.txt') # 解析数据,获得 features 数据 lenses = [inst.strip().split('\t') for inst in fr.readlines()] # 得到数据的对应的 Labels lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] # 使用上面的创建决策树的代码,构造预测隐形眼镜的决策树 lensesTree = createTree(lenses, lensesLabels) print(lensesTree) # 画图可视化展现 dtPlot.createPlot(lensesTree)
def fishTest(): """ Desc: 对动物是否是鱼类分类的测试函数,并将结果使用 matplotlib 画出来 Args: None Returns: None """ # 获取数据 myDat, labels = createDataSet() import copy myTree = createTree(myDat, copy.deepcopy(labels)) print(myTree) # [1, 1]表示要取的分支上的节点位置,对应的结果值 print(classify(myTree, labels, [1, 1])) # 画图可视化展现 dtPlot.createPlot(myTree)
def ContactLensesTest(): """ Desc: 预测隐形眼镜的测试代码 Args: none Returns: none """ # 加载隐形眼镜相关的 文本文件 数据 fr = open('input/3.DecisionTree/lenses.txt') # 解析数据,获得 features 数据 lenses = [inst.strip().split('\t') for inst in fr.readlines()] # 得到数据的对应的 Labels lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] # 使用上面的创建决策树的代码,构造预测隐形眼镜的决策树 lensesTree = createTree(lenses, lensesLabels) print lensesTree # 画图可视化展现 dtPlot.createPlot(lensesTree)
def ContactLensesTest(): ''' Desc: Lenses glasses test Args: None Returns: None ''' fr = open('./lenses.txt') lenses = [inst.strip().split('\t') for inst in fr.readlines()] lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] lensesTree = createTree(lenses, lensesLabels) print(lensesTree) #Draw pic dtPlot.createPlot(lensesTree)
def ContactLensesTest(): """ Desc: 预测隐形眼镜的测试代码,并将结果画出来 Args: none Returns: none """ # 加载隐形眼镜相关的 文本文件 数据 fr = open( '/Users/liuquanzhen/Documents/Code/PythonNLP/DecisionTree/data/lenses.txt' ) # 解析数据,获得 features 数据 lenses = [inst.strip().split('\t') for inst in fr.readlines()] # 得到数据的对应的 Labels lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] # 使用上面的创建决策树的代码,构造预测隐形眼镜的决策树 lensesTree = createTree(lenses, lensesLabels) print(lensesTree) # 画图可视化展现 dtPlot.createPlot(lensesTree)
def fishTest(): myData, labels = creatDataSet() #求数据集的香农熵 # print(calcShannonEnt(myData)) # # 求第0列 为 1/0的列的数据集【排除第0列】 #print (splitDataSet(myData, 0, 1)) #print (splitDataSet(myData, 0, 0)) # bestFeature = chooseBestFeatureToSplit(myData) # print(bestFeature) import copy myTree = createTree(myData, copy.deepcopy(labels)) print(myTree) # [1, 1]表示要取的分支上的节点位置,对应的结果值 print(classify(myTree, labels, [1, 1])) # # 获得树的高度 # print(get_tree_height(myTree)) # # 画图可视化展现 dtPlot.createPlot(myTree)
def ContactLensesTest(): """ Desc: 预测隐形眼镜的测试代码,并将结果画出来 Args: none Returns: none """ # 加载隐形眼镜相关的 文本文件 数据 fr = open( 'D:/cobs/program/git/AiLearning/src/py3.x/ml/3.DecisionTree/data/3.DecisionTree/lenses.txt' ) # 解析数据,获得 features 数据 lenses = [inst.strip().split('\t') for inst in fr.readlines()] # 得到数据的对应的 Labels lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] # 使用上面的创建决策树的代码,构造预测隐形眼镜的决策树 lensesTree = createTree(lenses, lensesLabels) print(lensesTree) # 画图可视化展现 dtPlot.createPlot(lensesTree)
def grabTree(filename): import pickle fr = open(filename) return pickle.load(fr) if __name__ == "__main__": # 1.创建数据和结果标签 myDat, labels = createDataSet() # print myDat, labels # # 计算label分类标签的香农熵 # calcShannonEnt(myDat) # # 求第0列 为 1/0的列的数据集【排除第0列】 # print '1---', splitDataSet(myDat, 0, 1) # print '0---', splitDataSet(myDat, 0, 0) # # 计算最好的信息增益的列 # print chooseBestFeatureToSplit(myDat) import copy myTree = createTree(myDat, copy.deepcopy(labels)) print myTree # [1, 1]表示要取的分支上的节点位置,对应的结果值 # print classify(myTree, labels, [1, 1]) # 画图可视化展现 dtPlot.createPlot(myTree)
#!/usr/bin/env python # -*- encoding: utf-8 -*- ''' @File : DecisionTree_demo02.py @Time : 2019/04/18 11:20:30 @Author : xiao ming @Version : 1.0 @Contact : [email protected] @Desc : 决策树案例02预测隐形眼镜类型 @github : https://github.com/aimi-cn/AILearners ''' # here put the import lib import DecisionTree_demo01 import decisionTreePlot if __name__ == '__main__': fr = open( 'C:/Users/Administrator/Desktop/blog/github/AILearners/data/sourceData/Ch03/lenses.txt' ) #解析tab键分隔的数据行 lenses = [inst.strip().split('\t') for inst in fr.readlines()] print(lenses) lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate'] myTree_lenses = DecisionTree_demo01.createTree(lenses, lensesLabels) decisionTreePlot.createPlot(myTree_lenses)