python数据挖掘实验报告_Python数据挖掘实践—决策树
这几期和大家聊聊使用Python进行机器学习
题外话:之前一期“ scrapy抓取当当网82万册图书数据 ” 的 Github 链接
Python拥有强大的第三方库,使用Python进行科学计算和机器学习同样需要先配置运行环境。这里我们需要安装Anaconda,官方给出的下载链接太慢,而且经常下载到一半卡死,这里我提供我下载好的Numpy:提供数组支持,以及相应的高效处理函数;
Scipy:提供矩阵支持,以及矩阵相关的数值计算模块;
Matplotlib:数据可视化工具,作图库;
Pandas:强大、灵活的数据分析和探索工具;
Scikit - Learn:支持回归、分类、聚类等强大的机器学习库;决策树是一个类似流程图的树状结构,其中每个内部节点都表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶节点代表类或类分布,最顶层是根节点。
决策树方法在分类、预测等领域有广泛应用。我在百度上找了张图,决策树是长这样:
下面我用一个案例来简单介绍下用Python实现决策树的机器学习过程
1、案例背景:某连锁餐饮企业手头拥有一批数据,想了解周末和非周末对销量是否有很大区别,以及天气的好坏、是否有促销活动对销量的影响。以单个门店为例,数据结构如下:
2、过程分析:这里我们采用的算法为ID3算法,ID3算法是啥,那么多博客说的比我清楚,大家可以搜搜决策树ID3就明白了。总结一句话:ID3就是基于信息熵来选择最佳测试属性,采用信息增益作为选择测试属性的标准。ID3生成的决策树模型:
3、使用Scikit - Learn建立决策树模型
数据链接,密码:n7u5
#-*- coding: utf-8 -*-
import pandas as pd
#参数初始化
inputfile = '../FEB/data.xls' #这里输入你个人的文件路径
data = pd.read_excel(inputfile, index_col = u'序号') #导入数据
#数据是类别标签,要将它转换为数据
#用1来表示“好”、“是”、“高”这三个属性,用-1来表示“坏”、“否”、“低”
data[data == u'好'] = 1
data[data == u'是'] = 1
data[data == u'高'] = 1
data[data != 1] = -1
x = data.iloc[:,:3].as_matrix().astype(int)
y = data.iloc[:,3].as_matrix().astype(int)
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)
with open("tree.dot", 'w') as f:
f = export_graphviz(dtc, feature_names = x.columns, out_file = f)
这里我们在该python文件的同级目录下导出的结果是一个dot文件(长得和word类似),需要安装Graphviz才能将其转换为pdf格式
导出的dot文件:
运行命令:dot -Tpdf tree.dot -o tree.pdf将该dot文件转化成结构化图
总结:决策树的优点:直观、便于理解、小规模数据集有效;决策树的缺点:类别较多时,错误增加较快,可规模性不强。
python数据挖掘实验报告_Python数据挖掘实践—决策树相关推荐
- python外星人实验报告_Python 项目实践一(外星人入侵)第一篇
python断断续续的学了一段实践,基础课程终于看完了,现在跟着做三个小项目,第一个是外星人入侵的小游戏: 一 Pygame pygame 是一组功能强大而有趣的模块,可用于管理图形,动画乃至声音,让 ...
- python综合实验报告_Python程序设计实验报告五:综合运用三种基本结构进行程序设计(综合性实验)...
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名姚彩琴学号3190505129 成绩 日期 2020.4.22 指导老师修宇 [实验名称]综合运用三种基本结构进行程序设计(综合性实 ...
- python综合实验报告_Python程序设计 实验报告
安徽工程大学 Python程序设计 实验报告 班级:物流192 姓名:刘马汉卿学号:319005211 成绩: 日期:2020年4月29日 指导老师:修 ...
- python数据分析实验报告_Python数据分析综合小练习:销售数据分析
有这样一个小小的练习题: 卖电子商品的老板,每天记录了自己卖出的U盘,电脑支架,插座,电池,音箱,鼠标,usb数据线,手机充电线等数量,客户的需求是一方面,也可以通过客户购买关联性比较强的商品进行引导 ...
- 基于python的数据挖掘实验报告_数据挖掘实验报告一
. '. 数据预处理 一. 实验原理 预处理方法基本方法 1 .数据清洗 去掉噪声和无关数据 2 .数据集成 将多个数据源中的数据结合起来存放在一个一致的数据存储中 3 .数据变换 把原始数据转换成为 ...
- python爬虫实验报告_python爬虫实验
原博文 2013-06-28 13:30 − 那天在新浪微博上看到北北出的题目,由于最近也在做类似的爬虫研究,所以就有了这个实验. 后来在QQ上和北北说了下,要求是啥都抓,就抓乌云的... 然后就开始 ...
- python分类算法报告_Python机器学习(1)——决策树分类算法
1.决策树算法 决策树用树形结构对样本的属性进行分类,是最直观的分类算法,而且也可以用于回归.不过对于一些特殊的逻辑分类会有困难.典型的如异或(XOR)逻辑,决策树并不擅长解决此类问题. 决策树的构建 ...
- python数据分析实验报告_Python 数据分析入门实战
本训练营中,我们将学习怎么样使用 Python 进行数据分析.课程将从数据分析基础开始,一步步深入讲解.从 Python 的基础用法到数据分析的各种算法,并结合各种实例,讲解数据分析过程中的方方面面. ...
- python投资分析实验报告_Python的实验报告怎么写?
以面向对象程序设计实验为例: 一.实验目的了解面向对象程序设计思想 了解对象.类.封装.继承.方法.构造函数和析构函数基本概念 掌握定义类.成员变量.成员函数.静态变量和静态方法 掌握通过类定义实现继 ...
- python冒泡排序实验报告_python中的冒泡排序
首先,再将python的冒泡排序之前,先来复习一个python中的自带排序函数:sort(但是这个函数是没有返回值的,并且只能针对列表,大家使用的时候需要注意一下): 例子如下: li=[11,22, ...
最新文章
- python实战演练_python实战演练(三)购物车程序
- 【转载】让我们来FirePHP
- mysql性能监控qps,tps,iops
- Java程序猿的JavaScript学习笔记(汇总文件夹)
- win7-X64下用VM安装linux系统CentOS
- SAP支持包、插件程序和附件
- java multivaluemap_java – 使用自定义值集合类型创建Commons Collections MultiValueMap
- Android向本地写入一个XML文件和解析XML文件
- linux上设置git高亮
- controller属于哪一层_别急着换5G,4G手机同样值得考虑!哪几款安卓手机称得上4G机皇?...
- Springboot配置devtools实现热部署
- Word中如何删除某一页的页眉与页眉中的横线
- 华为路由器显示连接到服务器失败怎么办,华为路由器设置好了不能用怎么办 华为路由器无法上网问题-192路由网...
- vue @click.native和@click.stop和@click.self
- 记一次feign调用报错:feign.codec.DecodeException: Error while extracting response for type [java...
- 一些GIS地图的基础知识
- odoo 中的 domian 和 运算符
- Qt的各版本直接下载地址
- Python爬虫之PyQuery
- 推荐官方开源 PInvoke 库 包含大量 win32 封装