描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302590248丛书名: 大数据应用与技术丛书
通过学习《Python商业数据挖掘(第6版)》,读者将掌握使用Python实现数据挖掘的各种方法,并深入理解在将这些方法应用于数据挖掘的过程中存在的商业问题和机遇。
本书前5版好评如潮,作为第6版,本书首次使用了Python语言。本书除了介绍用于统计和机器学习等领域的预测、分类、可视化、降维、推荐系统、聚类、文本挖掘、网络分析等方法之外,内容还包括:
● 新加入的合著者Peter Gedeck拥有使用Python讲解商业分析课程的丰富经验以及将机器学习应用于新药发现过程的专业技能。在本书中,他十分乐于将这些经验和技能与读者分享。
● 讨论数据挖掘中的伦理问题。
● 根据教师和学生的反馈意见对内容做了更新。
● 通过多个案例展示数据挖掘技术的实际应用。
● 每章后面的习题有助于读者评估和加深对该章内容的理解。
● 在线支持网站提供了数据集、教学资料、习题答案、PPT教案和案例解决方案。
第I 部分 预备知识
第1 章 引言……………………………………………………3
1.1 商业分析简介…………………………………….3
1.2 什么是数据挖掘………………………………..4
1.3 数据挖掘及相关术语…………………………4
1.4 大数据………………………………………………..5
1.5 数据科学……………………………………………6
1.6 为什么有这么多不同的方法……………..6
1.7 术语与符号………………………………………..7
1.8 本书的线路图…………………………………….8
第2 章 数据挖掘过程概述…………………………..11
2.1 引言………………………………………………….11
2.2 数据挖掘的核心思想……………………….11
2.2.1 分类………………………………………….11
2.2.2 预测………………………………………….12
2.2.3 关联规则与推荐系统……………………12
2.2.4 预测分析……………………………………12
2.2.5 数据规约与降维技术……………………12
2.2.6 数据探索和可视化………………………12
2.2.7 监督学习与无监督学习………………..13
2.3 数据挖掘步骤…………………………………..13
2.4 前期步骤………………………………………….15
2.4.1 数据集的组织……………………………..15
2.4.2 预测West Roxbury 小区的房价……..15
2.4.3 在Python 程序中载入并浏览数据….16
2.4.4 Python 包的导入………………………….18
2.4.5 从数据库获得采样数据………………..18
2.4.6 在分类任务中对小概率事件的
过采样………………………………………19
2.4.7 数据预处理和数据清理………………..19
2.5 预测力和过拟合……………………………… 24
2.5.1 过拟合……………………………………… 24
2.5.2 数据分区的创建和使用……………….. 26
2.6 建立预测模型…………………………………. 28
2.7 在本地计算机上用Python 实现
数据挖掘…………………………………………. 32
2.8 自动化数据挖掘解决方案………………. 33
2.9 数据挖掘中的伦理规范………………….. 33
2.10 习题……………………………………………….. 37
第Ⅱ部分 数据探索与降维技术
第3 章 数据可视化………………………………………43
3.1 引言…………………………………………………. 43
3.2 数据实例…………………………………………. 45
3.3 基本图形:条形图、折线图和
散点图…………………………………………….. 46
3.3.1 分布图:箱线图和直方图……………. 48
3.3.2 热图:可视化相关性和缺失值……… 51
3.4 多维数据的可视化………………………….. 53
3.4.1 添加变量:颜色、大小、形状、
多面板和动画……………………………. 53
3.4.2 数据操作:重定标、聚合与层次
结构、缩放与过滤……………………… 56
3.4.3 趋势线和标签……………………………. 59
3.4.4 扩展到大型数据集……………………… 60
3.4.5 多变量图:平行坐标图……………….. 62
3.4.6 交互式可视化……………………………. 63
3.5 专用的可视化技术………………………….. 65
3.5.1 网络数据可视化…………………………. 65
3.5.2 层次数据可视化:树状结构图……… 66
3.5.3 地理数据可视化:地图……………….. 68
3.6 小结………………………………………………….71
3.7 习题………………………………………………….71
第4 章 降维…………………………………………………75
4.1 引言………………………………………………….75
4.2 维数的诅咒………………………………………75
4.3 实际考虑…………………………………………..76
4.4 数据摘要…………………………………………..77
4.5 相关性分析………………………………………80
4.6 减少分类变量的分类值个数……………81
4.7 把分类变量转换为数值型变量……….82
4.8 主成分分析………………………………………82
4.8.1 主成分……………………………………….87
4.8.2 数据归一化………………………………..88
4.8.3 使用主成分进行分类和预测………….91
4.9 利用回归模型实现降维…………………..91
4.10 利用分类树与回归树实现降维……..91
4.11 习题………………………………………………..91
第Ⅲ部分 性能评价
第5 章 评估预测性能………………………………….97
5.1 引言………………………………………………….97
5.2 评估预测性能…………………………………..98
5.3 评估分类器的性能……………………….. 102
5.4 判断排名性能…………………………………111
5.5 过采样…………………………………………….115
5.6 习题………………………………………………..119
第Ⅳ部分 预测与分类方法
第6 章 多元线性回归………………………………..125
6.1 引言………………………………………………. 125
6.2 解释模型和预测模型……………………. 126
6.3 估计回归方程和预测结果……………. 127
6.4 线性回归中的变量选择……………….. 131
6.4.1 减少预测变量的数量………………… 131
6.4.2 正则化(收缩模型)…………………….. 136
6.5 statmodels 包的使用……………………… 138
6.6 习题………………………………………………. 139
第7 章 k-近邻算法…………………………………….143
7.1 k-近邻分类器(分类结果变量)………. 143
7.1.1 确定近邻记录………………………….. 143
7.1.2 分类规则………………………………….144
7.1.3 实例:驾驶式割草机………………….144
7.1.4 设置临界值………………………………148
7.1.5 多类别的k-近邻算法…………………149
7.1.6 把分类变量转换为二元虚拟
变量………………………………………..149
7.2 将k-近邻算法应用于数值型
结果变量………………………………………..149
7.3 k-近邻算法的优缺点……………………..151
7.4 习题………………………………………………..151
第8 章 朴素贝叶斯分类器………………………..155
8.1 引言………………………………………………..155
8.1.1 临界概率方法…………………………..155
8.1.2 条件概率………………………………….156
8.2 使用完全或精准的贝叶斯
分类器…………………………………………….157
8.2.1 使用“归类为有可能的类别”
准则………………………………………..157
8.2.2 使用临界概率方法…………………….157
8.2.3 精准贝叶斯方法存在的实际问题…157
8.2.4 朴素贝叶斯的独立条件假设………..158
8.3 朴素贝叶斯分类器的优缺点…………164
8.4 习题………………………………………………..165
第9 章 分类树与回归树……………………………167
9.1 引言………………………………………………..167
9.2 分类树…………………………………………….169
9.3 评估分类树的性能…………………………175
9.4 如何避免过拟合…………………………….178
9.4.1 停止树的生长…………………………..179
9.4.2 调节分类树的参数…………………….180
9.4.3 限制分类树规模的其他方法………..182
9.5 从分类树推断分类规则…………………183
9.6 多于两个类别的分类树…………………183
9.7 回归树…………………………………………….183
9.8 改进预测方法:随机森林法和
提升树…………………………………………….186
9.8.1 随机森林法………………………………186
9.8.2 提升树…………………………………….188
9.9 树的优缺点…………………………………….189
9.10 习题………………………………………………190
第10 章 Logistic 回归……………………………….193
10.1 引言………………………………………………193
10.2 Logistic 回归模型…………………………194
10.3 实例:接受个人贷款申请……………196
10.3.1 只有单个预测变量的模型……….196
10.3.2 根据数据估计Logistic 模型:
计算参数估计值…………………….197
10.3.3 用几率解释结果(用于分析
目的)……………………………………199
10.4 评估分类性能……………………………….200
10.5 用于多类别分类的Logistic
回归………………………………………………202
10.5.1 定序类别………………………………202
10.5.2 定类类别………………………………203
10.5.3 比较定序类别模型和定类
类别模型……………………………..204
10.6 分析实例:预测航班是否延误……206
10.6.1 训练模型………………………………210
10.6.2 模型的解释…………………………..211
10.6.3 模型的性能…………………………..212
10.6.4 变量选择………………………………213
10.7 statmodels 包的使用……………………..216
10.8 习题………………………………………………217
第11 章 神经网络……………………………………..221
11.1 引言………………………………………………221
11.2 神经网络的概念和结构……………….222
11.3 在数据上拟合神经网络……………….222
11.3.1 计算节点的输出结果………………223
11.3.2 训练模型………………………………225
11.3.3 对事故的严重程度进行分类…….229
11.3.4 避免过拟合…………………………..231
11.3.5 把神经网络的输出结果用于
预测和分类…………………………..231
11.4 要求用户输入……………………………….231
11.5 探索预测变量与因变量的关系……232
11.6 深度学习………………………………………232
11.6.1 卷积神经网络……………………….233
11.6.2 局部特征图…………………………..234
11.6.3 层次特征………………………………234
11.6.4 学习过程………………………………235
11.6.5 无监督学习…………………………..235
11.6.6 结论…………………………………….236
11.7 神经网络的优缺点……………………….236
11.8 习题………………………………………………237
第12 章 判别分析…………………………………….. 239
12.1 引言………………………………………………239
12.2 记录与类别的距离………………………241
12.3 Fisher 线性分类函数……………………242
12.4 判别分析的分类性能…………………..245
12.5 先验概率………………………………………245
12.6 误分类成本不均等………………………246
12.7 多类别情形下的分类…………………..246
12.8 判别分析的优缺点………………………249
12.9 习题………………………………………………250
第13 章 组合方法:集成学习和增益
模型……………………………………………. 253
13.1 集成学习………………………………………253
13.1.1 为什么集成学习可以改进
预测能力……………………………..254
13.1.2 集成学习的优缺点…………………257
13.2 增益(说服)模型……………………………257
13.2.1 建立一个简单的预测模型……….260
13.2.2 建立增益模型……………………….260
13.2.3 使用Python 程序计算增益………261
13.2.4 应用增益模型的结果……………..262
13.3 小结………………………………………………262
13.4 习题………………………………………………263
第Ⅴ部分 挖掘记录之间的关系
第14 章 关联规则和协同过滤…………………. 267
14.1 关联规则………………………………………267
14.1.1 从交易数据库中发现
关联规则……………………………..268
14.1.2 生成候选规则……………………….269
14.1.3 Apriori 算法………………………….270
14.1.4 选择强规则…………………………..270
14.1.5 数据格式……………………………..271
14.1.6 规则的选择过程……………………273
14.1.7 解释结果……………………………..274
14.2 协同过滤………………………………………277
14.2.1 数据类型与数据格式…………….. 278
14.2.2 基于用户的协同过滤…………….. 279
14.2.3 基于项的协同过滤……………….. 281
14.2.4 协同过滤的优缺点……………….. 282
14.2.5 协同过滤与关联规则…………….. 283
14.3 小结…………………………………………….. 284
14.4 习题…………………………………………….. 284
第15 章 聚类分析……………………………………..289
15.1 引言…………………………………………….. 289
15.2 计算两条记录之间的距离………….. 292
15.2.1 欧几里得距离……………………… 292
15.2.2 数值型观测值的归一化处理…… 293
15.2.3 数值型数据的其他距离度量
方法…………………………………… 294
15.2.4 分类数据的距离度量…………….. 295
15.2.5 混合数据的距离度量…………….. 296
15.3 计算两个簇之间的距离……………… 296
15.4 (凝聚)层次聚类…………………………… 298
15.4.1 树状图:显示聚类过程和
结果…………………………………… 299
15.4.2 验证簇……………………………….. 301
15.4.3 层次聚类的局限性……………….. 303
15.5 非层次聚类:k-均值聚类…………… 304
15.6 习题…………………………………………….. 308
第Ⅵ部分 时间序列预测
第16 章 时间序列分析……………………………..313
16.1 引言…………………………………………….. 313
16.2 描述性模型与预测性模型………….. 314
16.3 商业领域常用的预测方法………….. 314
16.4 时间序列的主要成分………………….. 315
16.5 数据分割与性能评估………………….. 318
16.5.1 基准性能:朴素预测…………….. 318
16.5.2 生成未来预测结果……………….. 321
16.6 习题…………………………………………….. 321
第17 章 基于回归的预测………………………….325
17.1 趋势模型…………………………………….. 325
17.1.1 线性趋势…………………………….. 325
17.1.2 指数趋势…………………………….. 329
17.1.3 多项式趋势…………………………. 330
17.2 季节性效应模型…………………………. 330
17.3 趋势和季节性效应模型……………….333
17.4 自相关和ARIMA 模型……………….334
17.4.1 计算自相关性……………………….334
17.4.2 加入自相关信息以提高预测
准确度…………………………………336
17.4.3 评估可预测性……………………….339
17.5 习题………………………………………………339
第18 章 平滑法…………………………………………349
18.1 引言………………………………………………349
18.2 移动平均法…………………………………..350
18.2.1 用于可视化的中心移动
平均法…………………………………350
18.2.2 用于预测的尾移动平均法……….352
18.2.3 时间窗口宽度的选择……………..354
18.3 简单的指数平滑法……………………….354
18.3.1 平滑参数α 的选择…………………355
18.3.2 移动平均法与简单指数平滑法
的关系…………………………………356
18.4 高级指数平滑法…………………………..356
18.4.1 包含趋势的序列……………………356
18.4.2 包含趋势和季节性效应的
序列……………………………………357
18.4.3 包含季节性效应但不包含趋势
的序列…………………………………359
18.5 习题………………………………………………359
第Ⅶ部分 数据分析
第19 章 社交网络分析……………………………..369
19.1 引言………………………………………………369
19.2 有向网络与无向网络…………………..370
19.3 社交网络的可视化和分析……………371
19.3.1 网络图的布局……………………….372
19.3.2 边表…………………………………….373
19.3.3 邻接矩阵……………………………..373
19.3.4 在分类和预测中使用社交
网络数据……………………………..374
19.4 社交网络指标和分类法……………….374
19.4.1 节点级中心度指标…………………374
19.4.2 自我中心网络……………………….375
19.4.3 社交网络度量指标…………………376
19.5 在分类和预测中应用网络指标……378
19.5.1 连接预测………………………………378
19.5.2 个体解析………………………………378
19.5.3 协同过滤………………………………379
19.6 使用Python 收集社交网络数据…..381
19.7 社交网络分析的优缺点……………….382
19.8 习题………………………………………………383
第20 章 文本挖掘……………………………………..385
20.1 引言………………………………………………385
20.2 文本数据的表格表示法:项-文档
矩阵和词袋…………………………………..386
20.3 词袋法与文档级提取…………………..387
20.4 预处理文本…………………………………..387
20.4.1 分词…………………………………….388
20.4.2 文本压缩………………………………389
20.4.3 出现/不出现与词频………………..391
20.4.4 词频-逆文本频率(TF-IDF)……….391
20.4.5 从项到概念:隐性语义索引…….392
20.4.6 提取语义………………………………393
20.5 数据挖掘方法的实现…………………..393
20.6 实例:关于汽车和电子产品的
在线讨论………………………………………393
20.6.1 导入记录并为记录贴上标签…….394
20.6.2 使用Python 程序对文本进行
预处理…………………………………394
20.6.3 生成概念矩阵……………………….395
20.6.4 拟合预测模型……………………….395
20.6.5 预测…………………………………….396
20.7 小结………………………………………………396
20.8 习题………………………………………………396
第Ⅷ部分 案例
第21 章 案例……………………………………………..401
21.1 查尔斯图书俱乐部……………………….401
21.1.1 背景分析………………………………401
21.1.2 查尔斯图书俱乐部的数据库
营销手段……………………………..402
21.1.3 数据挖掘技术……………………….403
21.1.4 任务…………………………………….404
21.2 德国信用卡…………………………………..405
21.2.1 背景分析………………………………405
21.2.2 数据……………………………………405
21.2.3 任务……………………………………408
21.3 Tayko 软件销售公司……………………408
21.3.1 背景分析……………………………..408
21.3.2 邮件发送实验……………………….409
21.3.3 数据……………………………………409
21.3.4 任务……………………………………410
21.4 政治游说………………………………………410
21.4.1 背景分析……………………………..410
21.4.2 预测分析出现在美国总统
大选中………………………………… 411
21.4.3 政治定位…………………………….. 411
21.4.4 增益…………………………………… 411
21.4.5 数据……………………………………412
21.4.6 任务……………………………………412
21.5 出租车取消问题…………………………..413
21.5.1 背景分析……………………………..413
21.5.2 任务……………………………………413
21.6 香皂用户的细分…………………………..413
21.6.1 背景分析……………………………..413
21.6.2 关键问题……………………………..414
21.6.3 数据……………………………………414
21.6.4 测试品牌忠诚度……………………415
21.6.5 任务……………………………………415
21.7 直邮捐赠………………………………………416
21.7.1 背景……………………………………416
21.7.2 数据……………………………………416
21.7.3 任务……………………………………417
21.8 产品目录交叉销售………………………417
21.8.1 背景分析……………………………..417
21.8.2 任务……………………………………418
21.9 预测公共交通需求………………………418
21.9.1 背景分析……………………………..418
21.9.2 问题描述……………………………..418
21.9.3 数据……………………………………418
21.9.4 目标……………………………………419
21.9.5 任务……………………………………419
21.9.6 提示和步骤…………………………..419
附录 Python 工具函数……………………………… 421
前 言
本书早出版于2007年年初,已被众多学生、从业人员和任课老师采用,包括我本人,在过去15 年里,在线授课和面对面授课都以本书为重要参考书。本书的第1 版是基于Excel 加载项(加载程序是Analytic Solver Data Mining,早先的名称是XLMiner)的,此后不断推出JMP 版本、R 版本和现在的Python 版本,并推出了本书的合作站点——www.dataminingbook.com。
新推出的Python 版本使用了免费开源的Python 程序设计语言。本书提供了Python 程序的输出结果以及生成这些结果的代码,也包含相关程序包和函数的使用说明,其中的核心是scikit-learn 包。不同于计算机科学教材或统计学教材,本书的重点在于数据挖掘的基本概念以及如何用Python 实现相关算法。我们假设读者基本熟悉Python 语言。
对于新推出的Python 版本,增加了另一位共同作者——Peter Gedeck,他在商业领域里具有丰富的数据科学经验。除了提供Python 代码和输出结果外,本书也增加了内容和反馈意见。这些意见来自教授MBA 课程、MS 课程、本科生课程、文凭课程和经理人培训课程的老师及学生。重要的是,本书首次引入了有关数据伦理的内容(详见2.9 节)。
本书还包含原书第3 版新增的如下内容:
● 社交网络分析
● 文本挖掘
● 集成方法
● 增益模型协同过滤
自第2 版开始(基于Analytic Solver),以本书为教材的课程大量增加。初,本书主要用于一学期的MBA 选修课,现在已被用在许多商业分析学位课的教学大纲里和证书课程的教学计划里。从本科生教学计划到研究生和经理人培训计划,这些项目里的课程、时间长短不一,深浅不同。在很多情形
下,本书可用在多门课程里。本书的设计思想是继续支持通用的“预测分析”或“数据挖掘”课程,但是也支持专用的商业分析教学大纲。
在专用的商业分析教学大纲中,以下课程曾使用本书。
● 预测分析——监督学习:在专用的商业分析项目里,对于预测分析主题,通常包括一系列课程。门课程包括本书的第Ⅰ部分至第Ⅳ部分内容。教授这门课程的老师通常根据课时适当地选择第Ⅳ部分的内容。在这类课程中,建议包括第13 章的集成学习和第Ⅶ部分的数据分析。
● 预测分析——无监督学习:本课程介绍数据探索和可视化、降维、挖掘关系和聚类(第Ⅲ部分和第Ⅴ部分)。如果这门课程也按照“预测分析——监督学习”课程的教学计划,那么有必要分析综合应用无监督学习和监督学习的例子和方法。
● 预测分析:专门用于时间序列预测的课程需要用到第Ⅵ部分的内容。
● 高级分析:本课程综合了全部的预测分析内容(包括监督学习和无监督学习)。这门课程的重点应放在第Ⅶ部分。这部分包含了社交网络分析和文本挖掘。有的老师也会在这类课程中选择第21 章中的案例。
在以上所有课程中,我们强烈建议增加课程设计项目,要求学生自己收集数据,或利用老师提供的数据(例如,现在有很多供数据挖掘使用的数据集)。根据我们和其他老师的经验,这些项目可让学生巩固所学的知识,并且能给学生提供一个机会,以便更好地理解数据挖掘的强大功能以及在挖掘过程中遇到的问题。
——Galit Shmueli、Peter C. Bruce、Peter Gedeck 和Nitin R. Patel
2019 年
评论
还没有评论。