# 决策树算法
python 编写决策树算法
步骤:
1. 导入数据
***利用csv导入数据***
2. 分离数据
***将输入数据,和结果数据分离出来***
3. 转化数据
***将输入数据和结果数据转化成0,1格式的数据
输入数据转化如下
```
dummyX[[ 0. 0. 1. 0. 1. 1. 0. 0. 1. 0.]
[ 0. 0. 1. 1. 0. 1. 0. 0. 1. 0.]
[ 1. 0. 0. 0. 1. 1. 0. 0. 1. 0.]
[ 0. 1. 0. 0. 1. 0. 0. 1. 1. 0.]
[ 0. 1. 0. 0. 1. 0. 1. 0. 0. 1.]
[ 0. 1. 0. 1. 0. 0. 1. 0. 0. 1.]
[ 1. 0. 0. 1. 0. 0. 1. 0. 0. 1.]
[ 0. 0. 1. 0. 1. 0. 0. 1. 1. 0.]
[ 0. 0. 1. 0. 1. 0. 1. 0. 0. 1.]
[ 0. 1. 0. 0. 1. 0. 0. 1. 0. 1.]
[ 0. 0. 1. 1. 0. 0. 0. 1. 0. 1.]
[ 1. 0. 0. 1. 0. 0. 0. 1. 1. 0.]
[ 1. 0. 0. 0. 1. 1. 0. 0. 0. 1.]
[ 0. 1. 0. 1. 0. 0. 0. 1. 1. 0.]]
其中每一列对应的数据是:
['age=middle_aged', 'age=senior', 'age=youth', 'credit_rating=excellent', 'credit_rating=fair', 'income =high', 'income =low', 'income =medium', 'student=no', 'student=yes']
```
输出数据转化如下
```
dummY[[0]
[0]
[1]
[1]
[1]
[0]
[1]
[0]
[1]
[1]
[1]
[1]
[1]
[0]]
其中每一行都是最终结果,此例是是否购买的结果
```
4. 建模
```
clf = tree.DecisionTreeClassifier(criterion='entropy') #声明使用决策树ID3算法
clf = clf.fit(dummyX,dummyY);
```
5. 生成dot文件
```
with open("allEletronicInformationGainOri.dot", 'w') as f:
f = tree.export_graphviz(clf,feature_names=vec.get_feature_names(),out_file=f)
```
6. 利用graphviz工具将dot文件导入把决策树画出来(其中分支节点的上下关系根据<b>信息熵</b>的大小来评估的)
###信息熵的算法:(变量的不确定性越大,熵越大) =负的 每一个发生的概率 乘以 以2为低概率的对数###
<img src="https://github.com/CentMeng/decisiontree/blob/master/xinxishanggongshi.png" />
<img src="https://github.com/CentMeng/decisiontree/blob/master/xinxishang.png" />
7. 测试和使用
```
#newRowX是0,1输入数据
predictedY = clf.predict(newRowX)
print("新数据结果" + str(predictedY))
```
没有合适的资源?快使用搜索试试~ 我知道了~
python 编写决策树算法.zip
共10个文件
xml:3个
png:2个
csv:1个
需积分: 5 0 下载量 12 浏览量
2024-04-25
19:01:29
上传
评论
收藏 148KB ZIP 举报
温馨提示
python 编写决策树算法
资源推荐
资源详情
资源评论
收起资源包目录
python 编写决策树算法.zip (10个子文件)
content
xinxishang.png 150KB
decisiontree.py 3KB
.idea
workspace.xml 28KB
misc.xml 685B
test.iml 457B
modules.xml 260B
allEletronicInformationGainOri.dot 1KB
xinxishanggongshi.png 17KB
allelectronics.csv 481B
README.md 2KB
共 10 条
- 1
资源评论
生瓜蛋子
- 粉丝: 3824
- 资源: 5626
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功