赞
踩
决策树分类法是一种简单但却广泛使用的分类技术。本实验主要目的是培养学生能够掌握决策树归纳法,并用python程序实现决策树分类法对数据进行分类。
学习掌握数据分类方法中的决策树归纳法。
就餐饮企业而言,经常会碰到这样的问题:如何基于天气(好天气:1,坏天气:-1)、节假日(是周末:1,不是周末:-1)和是否有促销(有促销:1,没有促销:-1)等影响因素,对菜品销量进行预测。根据下表给定的餐饮销量数据,使用基于信息熵的决策树算法(ID3算法)对菜品销量的高低进行预测。
要求:需要对所构建的决策树进行可视化,可以直接调用决策树相关函数。
参考资料:
[1]https://blog.csdn.net/weixin_48077303/article/details/115178755
[2]https://www.cnblogs.com/lifz-ml/p/15526494.html
[3]https://www.csdn.net/tags/MtjaEgxsMTYzMDMtYmxvZwO0O0OO0O0O.html
[4]https://zhuanlan.zhihu.com/p/403848058
表1 餐饮销量数据
序号 | 天气 | 是否周末 | 是否有促销 | 销量 |
1 | -1 | 1 | 1 | 高 |
2 | -1 | 1 | 1 | 高 |
3 | -1 | 1 | 1 | 高 |
4 | -1 | -1 | 1 | 高 |
5 | -1 | 1 | 1 | 高 |
6 | -1 | -1 | 1 | 高 |
7 | -1 | 1 | -1 | 高 |
8 | 1 | 1 | 1 | 高 |
9 | 1 | 1 | -1 | 高 |
10 | 1 | 1 | 1 | 高 |
11 | 1 | 1 | 1 | 高 |
12 | 1 | 1 | 1 | 高 |
13 | 1 | 1 | 1 | 高 |
14 | -1 | 1 | 1 | 低 |
15 | 1 | -1 | 1 | 高 |
16 | 1 | -1 | 1 | 高 |
17 | 1 | -1 | 1 | 高 |
18 | 1 | -1 | 1 | 高 |
19 | 1 | -1 | -1 | 高 |
20 | -1 | -1 | -1 | 低 |
21 | -1 | -1 | 1 | 低 |
22 | -1 | -1 | 1 | 低 |
23 | -1 | -1 | 1 | 低 |
24 | -1 | -1 | -1 | 低 |
25 | -1 | 1 | -1 | 低 |
26 | 1 | -1 | 1 | 低 |
27 | 1 | -1 | 1 | 低 |
28 | -1 | -1 | -1 | 低 |
29 | -1 | -1 | -1 | 低 |
30 | 1 | -1 | -1 | 低 |
31 | -1 | 1 | -1 | 低 |
32 | 1 | -1 | 1 | 低 |
33 | 1 | -1 | -1 | 低 |
34 | 1 | -1 | -1 | 低 |
- import pandas as pd
-
- inputfile = './sales_data.xls'
- data = pd.read_excel(inputfile, index_col=u'序号') # 导入数据以序号为索引列
-
- data[data == u'高'] = 1 # 把高和非高换为1和-1
- data[data != 1] = -1
-
- x = data.iloc[:, :3].values.astype(int)
- y = data.iloc[:, 3].values.astype(int)
- print('x:')
- print(x)
- print("")
- print('y:')
- print(y)
-
- from sklearn.tree import DecisionTreeClassifier as DTC
-
- dtc = DTC(criterion='entropy') # 建立决策树模型,基于信息熵
- dtc.fit(x, y) # 训练模型
- # 导入相关函数,可视化决策树。
-
- from sklearn.tree import export_graphviz
-
- x = pd.DataFrame(x)
- x = pd.DataFrame(x)
-
- with open("./tree.dot", 'w') as f:
- f = export_graphviz(dtc, feature_names=x.columns, out_file=f)
-

- x:
- [[-1 -1 -1]
- [-1 1 1]
- [-1 1 1]
- [-1 1 1]
- [-1 -1 1]
- [-1 1 1]
- [-1 -1 1]
- [-1 1 -1]
- [ 1 1 1]
- [ 1 1 -1]
- [ 1 1 1]
- [ 1 1 1]
- [ 1 1 1]
- [ 1 1 1]
- [-1 1 1]
- [ 1 -1 1]
- [ 1 -1 1]
- [ 1 -1 1]
- [ 1 -1 1]
- [ 1 -1 -1]
- [-1 -1 -1]
- [-1 -1 1]
- [-1 -1 1]
- [-1 -1 1]
- [-1 -1 -1]
- [-1 1 -1]
- [ 1 -1 1]
- [ 1 -1 1]
- [-1 -1 -1]
- [-1 -1 -1]
- [ 1 -1 -1]
- [-1 1 -1]
- [ 1 -1 1]
- [ 1 -1 -1]
- [ 1 -1 -1]]
-
- y:
- [-1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 -1
- -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1]
-
- Process finished with exit code 0

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。