Пример #1
0
def main():
	dataSet=[[1,2,'yes'],
		[1,2,'yes'],
		[1,0,'no'],
		[1,1,'no'],
		[0,2,'no'],
		]
	dataSet = [[u'青年', u'否', u'否', u'一般', u'拒绝'],
		[u'青年', u'否', u'否', u'好', u'拒绝'],
		[u'青年', u'是', u'否', u'好', u'同意'],
		[u'青年', u'是', u'是', u'一般', u'同意'],
		[u'青年', u'否', u'否', u'一般', u'拒绝'],
		[u'中年', u'否', u'否', u'一般', u'拒绝'],
		[u'中年', u'否', u'否', u'好', u'拒绝'],
		[u'中年', u'是', u'是', u'好', u'同意'],
		[u'中年', u'否', u'是', u'非常好', u'同意'],
		[u'中年', u'否', u'是', u'非常好', u'同意'],
		[u'老年', u'否', u'是', u'非常好', u'同意'],
		[u'老年', u'否', u'是', u'好', u'同意'],
		[u'老年', u'是', u'否', u'好', u'同意'],
		[u'老年', u'是', u'否', u'非常好', u'同意'],
		[u'老年', u'否', u'否', u'一般', u'拒绝'],
		]
	tree=fit(dataSet)
	print(tree)
	treePlotter2.createPlot(tree)
Пример #2
0
def main():
    dataSet = [
        [1, 2, 'yes'],
        [1, 2, 'yes'],
        [1, 0, 'no'],
        [1, 1, 'no'],
        [0, 2, 'no'],
    ]
    tree = fit(dataSet)
    print(tree)
    treePlotter2.createPlot(tree)
Пример #3
0
def main():
    dataSet, label = createDataSet()
    Ent = calcShannonEnt(dataSet)
    print(Ent)
    feature = chooseBestFeatureToSplit(dataSet)
    print(feature)
    myTree1 = creatTree(dataSet, label)
    print(myTree1)

    # 测试决策树的构建

    treePlotter2.createPlot(myTree1)
Пример #4
0
def main():
    dataSet, label = createDataSet()

    feature = chooseBestFeatureToSplit(dataSet)

    myTree1 = creatTree(dataSet, label)
    print(myTree1)

    mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
    mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像时负号'-'显示为方块的问题
    # 测试决策树的构建

    treePlotter2.createPlot(myTree1)
Пример #5
0
def main():
    # dataSet,label=createDataSet()
    dataSet_ = createD()
    dataSet = featureSplit(dataSet_, step_num=3)
    label = [i for i in range(len(dataSet[0]))]
    # print(label)

    Ent = calcShannonEnt(dataSet)
    # print(Ent)
    feature = chooseBestFeatureToSplit(dataSet)
    # print(feature)
    myTree1 = creatTree(dataSet, label)
    # print(myTree1)

    mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
    mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像时负号'-'显示为方块的问题
    # 测试决策树的构建

    treePlotter2.createPlot(myTree1)
Пример #6
0
# -*- coding: utf-8 -*-
# Filename : 07store_grab.py

from numpy import *
from math import log
from ID3DTree import * 
import copy
import treePlotter2
import matplotlib.pyplot as plt

dtree = ID3DTree()
dtree.loadDataSet("dataset.dat",["age","revenue","student","credit"])
# dtree.loadDataSet("lenses.txt",['age','prescript','astigmatic','tearRate'])
dtree.train()
print dtree.tree
treePlotter2.createPlot(dtree.tree)


Пример #7
0
dataSet = load_csv(filename)

for i in range(0, len(dataSet[0]) - 1):
    str_column_to_float(dataSet, i)
str_column_to_int(dataSet, len(dataSet[0]) - 1)

max_depth = 10
min_size = 3
print(len(dataSet))
tree = build_tree(dataSet[0:200], max_depth, min_size)
print(tree)

####可视化
import treePlotter2
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像时负号'-'显示为方块的问题
# 测试决策树的构建

treePlotter2.createPlot(tree)
###可视化
predictions = [predict(tree, row) for row in dataSet[150:]]

realLabels = [row[-1] for row in dataSet[150:]]
current = 0
for i in range(len(predictions)):
    if predictions[i] == realLabels[i]:
        current += 1

print(current / len(predictions))
Пример #8
0
    str_column_to_float(dataSet, i)
str_column_to_int(dataSet, len(dataSet[0]) - 1)

max_depth = 10
min_size = 2
print(len(dataSet))
tree = fit(dataSet[0:150], max_depth, min_size)
print(tree)

####可视化
import treePlotter2
from pylab import *

mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像时负号'-'显示为方块的问题
treePlotter2.createPlot(tree)
##可视化
##剪枝
import ART_punning

punning_tree = ART_punning.prune(tree, dataSet[150:200])
treePlotter2.createPlot(punning_tree)
##可视化
##

predictions = [predict(tree, row) for row in dataSet[150:]]

realLabels = [row[-1] for row in dataSet[150:]]
current = 0
for i in range(len(predictions)):
    if predictions[i] > 0.5:
Пример #9
0
# -*- coding: utf-8 -*-

from numpy import *
from math import log
from C45DTree import * 
import treePlotter2

dtree = C45DTree()
dtree.loadDataSet("dataset.dat",["age","revenue","student","credit"])
dtree.train()
print dtree.tree
treePlotter2.createPlot(dtree.tree)