当前位置:   article > 正文

数据挖掘实验——决策树归纳_数据挖掘对餐饮数据构建决策树

数据挖掘对餐饮数据构建决策树

一、实验目的

决策树分类法是一种简单但却广泛使用的分类技术。本实验主要目的是培养学生能够掌握决策树归纳法,并用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

四、实验结果和分析

代码部分

  1. import pandas as pd
  2. inputfile = './sales_data.xls'
  3. data = pd.read_excel(inputfile, index_col=u'序号') # 导入数据以序号为索引列
  4. data[data == u'高'] = 1 # 把高和非高换为1和-1
  5. data[data != 1] = -1
  6. x = data.iloc[:, :3].values.astype(int)
  7. y = data.iloc[:, 3].values.astype(int)
  8. print('x:')
  9. print(x)
  10. print("")
  11. print('y:')
  12. print(y)
  13. from sklearn.tree import DecisionTreeClassifier as DTC
  14. dtc = DTC(criterion='entropy') # 建立决策树模型,基于信息熵
  15. dtc.fit(x, y) # 训练模型
  16. # 导入相关函数,可视化决策树。
  17. from sklearn.tree import export_graphviz
  18. x = pd.DataFrame(x)
  19. x = pd.DataFrame(x)
  20. with open("./tree.dot", 'w') as f:
  21. f = export_graphviz(dtc, feature_names=x.columns, out_file=f)

运行结果

  1. x:
  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]
  35. [ 1 -1 -1]
  36. [ 1 -1 -1]]
  37. y:
  38. [-1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 -1
  39. -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1]
  40. Process finished with exit code 0

实验分析

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/711806
推荐阅读
相关标签
  

闽ICP备14008679号