예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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()
예제 #4
0
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)
예제 #5
0
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)
예제 #6
0
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)
예제 #7
0
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)
예제 #9
0
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)
예제 #10
0
def fishTest():
    myDat, labels = createDataSet()

    import copy
    myTree = createTree(myDat, copy.deepcopy(labels))
    print(myTree)
    print(classify(myTree, labels, [1, 1]))
    dtPlot.createPlot(myTree)
예제 #11
0
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)
예제 #12
0
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)
예제 #13
0
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)
예제 #14
0
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'))
예제 #17
0
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)
예제 #18
0
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)
예제 #19
0
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)
예제 #20
0
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)
예제 #21
0
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)
예제 #22
0
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)
예제 #23
0
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)
예제 #24
0
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)
예제 #25
0
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)
예제 #26
0
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)
예제 #27
0
#!/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)