数据挖掘之决策树

数据挖掘之决策树

决策树是一个非参数的监督式学习方法,主要用于分类和回归。算法的目标是通过推断数据特征,学习决策规则从而创建一个预测目标变量的模型。
利用Anaconda sklearn生成决策树并利用决策树进行预测,利用pydotplus来显示

自己创建至少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.]])       #计算属于每个类的概率

根据要求随机生成数据,并构建决策树,并举例预测。

from sklearn import tree
import numpy as np
a = np.random.RandomState()
# 随机数返回32行2列的矩阵 表示32组 
X = a.rand(32, 2)
# 从X这个32行2列的矩阵中 取出一行 判断如果和小于1 给Y赋值1 如果和不小于1 给Y赋值0
# 作为输入数据集的标签(正确答案)
Y = [[int(x0 + x1 < 1)] for (x0, x1) in X]

clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)

clf.predict([[2., 2.]])
clf.predict_proba([[2., 2.]])       #计算属于每个类的概率

在这里插入图片描述

对鸢尾花数据构建决策树

from sklearn.datasets import load_iris
iris = load_iris()# 从sklearn 数据集中获取鸢尾花数据。

X = iris.data
Y = iris.target
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)

clf.predict([[2., 2.,3.,2.]])
clf.predict_proba([[2., 2.,3.,2.]])       #计算属于每个类的概率

在这里插入图片描述
其中调用数据的方法如下:

from sklearn.datasets import load_iris
iris = load_iris()# 从sklearn 数据集中获取鸢尾花数据。


另外为了能够直观看到建好的决策树,安装 pydotplus
pip install pydotplus

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文件

最后可生成pdf文件
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值