一、目的
- 熟悉掌握决策树的原理,
- 熟练掌握决策树的生成方法与过程
二、工具
- Anaconda
- sklearn
- pydotplus
三、简介
决策树是一个非参数的监督式学习方法,主要用于分类和回归。算法的目标是通过推断数据特征,学习决策规则从而创建一个预测目标变量的模型。
四、内容
1. 自己创建至少2个向量,每个向量至少1个属性和1个类标号,根据向量生成决策树,并利用该决策树进行预测。如:
from sklearn import tree
X = [[0, 0], [1, 1]]
Y = [0, 1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)
clf.predict([[2., 2.]])
clf.predict_proba([[2., 2.]]) #计算属于每个类的概率
要求根据要求随机生成数据,并构建决策树,并举例预测。
2. 对鸢尾花数据构建决策树,
(1) 调用数据的方法如下:
from sklearn.datasets import load_iris
iris = load_iris()# 从sklearn 数据集中获取鸢尾花数据。
(2) 利用sklearn中的决策树方法对鸢尾花数据建立决策树
(3) 为了能够直观看到建好的决策树,安装 pydotplus, 方法如下:
pip install pydotplus
pydotplus使用方法
import pydotplus #引入pydotplus
dot_data = tree.export_graphviz(clf, out_file=None)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_pdf("iris.pdf")#将图写成pdf文件
五、总结
1.课堂上决策树的思路很好理解,但是实际操作的时候还是遇到了很多问题,通过对比数据构建了决策树
2.借助可视化工具可以更好的理解决策树,但是Graphviz实在是坑太多了
总结了两种解决Graphviz’s not found的途径:
(1)添加io,直接指向Graphviz的地址
(2)修改环境变量
3.不使用sklearn的代码找到了部分教程,还在钻研