数据科学 案例7 决策树之电脑购买(代码)

  • 9 决策树
    • 1、导入数据
    • 2、CART算法(分类树)
      • 2.1 建立CART模型
      • 2.2 可视化

9 决策树

import os
import pandas as pd

1、导入数据

data = pd.read_csv(r'./data/AllElectronics.csv',encoding='gbk', skipinitialspace=True) #, skipinitialspace=True不能少
data.head()
age income student credit_rating buys_computer
0 1 3 0 1 0
1 1 3 0 2 0
2 2 3 0 1 1
3 3 2 0 1 1
4 3 1 1 1 1
target = data['buys_computer']
data = data.loc[:, 'age':'credit_rating']
data.head()
age income student credit_rating
0 1 3 0 1
1 1 3 0 2
2 2 3 0 1
3 3 2 0 1
4 3 1 1 1

2、CART算法(分类树)

2.1 建立CART模型

import sklearn.tree as treeclf = tree.DecisionTreeClassifier(criterion='entropy', max_depth=5, min_samples_split=2, min_samples_leaf=1, random_state=12345)  # 当前支持计算信息增益和GINI
clf.fit(data, target)
DecisionTreeClassifier(class_weight=None, criterion='entropy', max_depth=5,max_features=None, max_leaf_nodes=None,min_impurity_decrease=0.0, min_impurity_split=None,min_samples_leaf=1, min_samples_split=2,min_weight_fraction_leaf=0.0, presort=False,random_state=12345, splitter='best')

2.2 可视化

可以使用graphviz将树结构输出,在python中嵌入graphviz可参考:pygraphviz

Python决策树可视化:GraphViz’s executables not found的解决方法

  • 可视化

使用dot文件进行决策树可视化需要安装一些工具:

  • 第一步是安装graphviz。linux可以用apt-get或者yum的方法安装。如果是windows,就在官网下载msi文件安装。
    无论是linux还是windows,装完后都要设置环境变量,将graphviz的bin目录加到PATH,
    比如windows,将C:/Program Files (x86)/Graphviz2.38/bin/加入了PATH
  • 第二步是安装python插件graphviz: pip install graphviz
  • 第三步是安装python插件pydotplus: pip install pydotplus
# get_ipython().magic('matplotlib inline')
tree.export_graphviz(clf, out_file='cart.dot')
import pydotplus
from IPython.display import Image
import sklearn.tree as tree#此前设置的环境变量不好用,可以用以下方法,查看了环境变量,发现没有就会追加上。
import os
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'  #注意修改你的路径# In[18]:dot_data = tree.export_graphviz(clf, out_file=None, feature_names=data.columns,max_depth=5,class_names=['0','1'],filled=True
) graph = pydotplus.graph_from_dot_data(dot_data)
Image(graph.create_png())

数据科学 案例7 决策树之电脑购买(代码)相关推荐

  1. 数据科学与大数据技术的案例_主数据科学案例研究,招聘经理的观点

    数据科学与大数据技术的案例 I've been in that situation where I got a bunch of data science case studies from diff ...

  2. 大数据数据科学家常用面试题_进行数据科学工作面试

    大数据数据科学家常用面试题 During my time as a Data Scientist, I had the chance to interview my fair share of can ...

  3. 什么事数据科学_如果您想进入数据科学,则必须知道的7件事

    什么事数据科学 No way. No freaking way to enter data science any time soon-That is exactly what I thought a ...

  4. 数据库面试复习_数据科学面试复习

    数据库面试复习 大面试前先刷新 (REFRESH BEFORE THE BIG INTERVIEW) 介绍 (Introduction) I crafted this study guide from ...

  5. 麦当劳数字化转型中获得的6个数据科学经验

    摘要 美国大数据公司Civis Analytics于2017年底与麦当劳北美市场营销和数据科学团队建立了数据技术合作伙伴关系,经过一年半的努力,近期在纽约广告周上共同展示了一些重要的学习成果. 麦当劳 ...

  6. 独家 | 6大角度击破数据科学面试套路!助你找到理想工作

    作者:Andrei Lyskov 翻译:李洁 校对:丁楠雅 本文约5000字,建议阅读10+分钟. 本文拆解数据科学工作的一般面试考察方式,为你分析面试工作时的准备及技巧. 简介 2012年,< ...

  7. 新春钜献 | 数据科学中文速查表Hacksheet强势助攻你的大数据学习

    上学的时候,师曾曰过,学习任何一门新的知识都有"先把书读厚,再把书读薄"这样一个循环复归的过程.把书读厚,就是要庖丁解牛,深入理解细微的知识细节:把书读薄,就是要目光如炬,准确把握 ...

  8. 图灵奖得主Jeff Ullman直言:机器学习不是数据科学的全部!统计学也不是

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者Jeff Ullman,来源:智源社区 导读:3月31日,2020年 ...

  9. 独家 | 7招帮你打造完美数据科学GitHub作品集!

    作者:SRISHTI DEORAS 翻译:王雨桐 校对:李洁 本文约1300字,建议阅读4分钟. 本文将提出7点,来帮助你完善自己的github, 从而得到潜在雇主的赏识. 尽管简历是向潜在雇主展示自 ...

最新文章

  1. LeetCode简单题之环和杆
  2. 2021年大数据Flink(三十四):​​​​​​​Table与SQL ​​​​​​案例一
  3. Spring JdbcTemplate方法详解
  4. JDK8漫谈——增强接口
  5. linux下的共享库(动态库)和静态库
  6. python开发一个彩票系统_[宜配屋]听图阁
  7. software enginer1
  8. Integer判断相等,到底该用==还是equals
  9. ​模型优化漫谈:BERT的初始标准差为什么是0.02?
  10. 雪花算法之唯一ID生成器理解
  11. 【bug】HbuilderX运行到微信小程序 报错
  12. 寒假作业 使用xmind脑图小结课程内容
  13. 采用单/双缓冲区需要花费的时间
  14. android studio更改代码字体,Android Studio怎么改变代码字体大小?
  15. wx ipad协议
  16. 永洪科技贺新颖:业务中台+数据中台,赋能企业核心业务
  17. matlab 进行时域分析实验报告,控制系统时域分析实验报告.doc
  18. 三维地图之cesium轨迹回放(有代码)
  19. ChatGPT万能工具箱 | ChatGPT辅助神器 提升了用户体验 提问回答更加精确。
  20. 下一代通信的野心:超奈奎斯特!超香农?

热门文章

  1. BUC算法及其Python实现
  2. [转]《101个爱情故事》
  3. 【渝粤题库】陕西师范大学180104市场调查与预测Ⅰ作业(高起专)
  4. 成都学python哪个机构好_成都学python人工智能哪个机构好
  5. 晕死,咖啡.....以后不喝咖啡了.....
  6. 人生, 不要在别扭的事上纠结
  7. Java IO流使用详解
  8. matlab7安装问题解决办法
  9. 六十五、Spark-综合案例(搜狗搜索日志分析)
  10. ajax jsonp 中文,miniAjax:一个轻巧而实用的ajax/jsonp HTTP请求库