资源简介
本压缩包包含:
1.本决策树(DecisionTree)项目python源代码文件;
2.项目用的数据(csv格式);
3.一个普通文件,记录本项目的调试过程,用作实战参考
代码片段和文件信息
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams[‘font.sans-serif‘] = [‘SimHei‘]
# 定义文本框和箭头格式
decisionNode = dict(boxstyle = “sawtooth“ fc = “0.8“)
leafNode = dict(boxstyle = “round4“ fc = “0.8“)
arrow_args = dict(arrowstyle = “<-“)
# 绘制带箭头的注解
def plotNode(nodeTxt centerPt parentPt nodeType) :
createPlot.ax1.annotate(
nodeTxt
xy = parentPt #起点位置
xycoords = ‘axes fraction‘
xytext = centerPt #注解框位置
textcoords = ‘axes fraction‘
va = ‘center‘ ha = ‘center‘ bbox = nodeType arrowprops = arrow_args)
def createPlot() :
fig = plt.figure(1 facecolor=‘white‘)
fig.clf()
createPlot.ax1 = plt.subplot(111 frameon = False)
plotNode(U‘决策节点‘ (0.5 0.1) (0.1 0.5) decisionNode)
plotNode(U‘叶节点‘ (0.8 0.1) (0.3 0.8) leafNode)
plt.show()
createPlot()
#获取叶节点的数目和树的层数
def getNumLeafs(myTree):
numLeafs = 0
firstStr = list(myTree.keys())[0]
secondDict = myTree[firstStr]
for key in secondDict.keys():
if type(secondDict[key]).__name__==‘dict‘:
numLeafs += getNumLeafs(secondDict[key])
else: numLeafs += 1
return numLeafs
def getTreeDepth(myTree):
maxDepth = 0
firstStr = list(myTree.keys())[0]
secondDict = myTree[firstStr]
for key in secondDict.keys():
if type(secondDict[key]).__name__==‘dict‘:
thisDepth = 1 + getTreeDepth(secondDict[key])
else: thisDepth = 1
if thisDepth > maxDepth: maxDepth = thisDepth
return maxDepth
#test code
#mt={‘no surfacing‘: {0: ‘no‘ 1: {‘flippers‘: {0: ‘no‘ 1: ‘yes‘}}}}
#print(getNumLeafs(mt))
#print(getTreeDepth(mt))
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-02-27 00:14 DecisionTree\
文件 807 2018-02-27 00:13 DecisionTree\tree.csv
文件 1852 2018-02-14 02:19 DecisionTree\treePlotter.py
文件 3115 2018-03-03 21:58 DecisionTree\trees.py
文件 8379 2018-02-21 23:57 DecisionTree\treestest
相关资源
- fire_finder.rar
- Python数据分析与机器学习-Python库分析
- 台大李宏毅机器学习课程Pokemon 宝可梦
- RL-Stock-master 使用强化学习完成股票预
- reinforcement-learning-an-introduction-master
- 人工智能资料集_140G_百度盘
- Python 3.7 标准库内置库手册(CHM格式,
- 2018年15期Python视频教程传智播客itca
- Python-Keras实现的DeepSpeech端到端语音识
- Python-FastFCN用于语义分割的RethinkingD
- Python-使用RNN股市预测
- Python-使用最新版本的tensorflow实现se
- Pandas官方文档
- Python-人工智能和基于机器学习的机器
- 马哥教育2018高端人工智能+Python全能工
- Python-用TensorFlow实现神经网络实体关系
- Python-单目3D人体姿态检测
- MixPY-人工智能图形化软硬件资料.zip
- 基于Python的机器学习K-means聚类分析
- Pandas 使用手册.pdf
- 经典聚类算法python实现
- 2020年美赛C题的全部代码
- pima_data.csv印第安人糖尿病数据集
- 机器学习神经网络资源
- 深度学习入门:基于Python的理论与实
- 基于机器学习框架tensorflow的图像分类
- 基于MTCNN实现制作脸部VOC格式数据集
- 机器学习实战:基于 Scikit-Learn 和 T
- 《大数据与机器学习:实践方法与行
- 机器学习经典算法
评论
共有 条评论