目录



第1章绪论1
1.1什么是数据分析1
1.2什么是数据挖掘1
1.3数据挖掘的步骤2
1.4数据挖掘的典型应用4
1.4.1市场营销4
1.4.2金融领域4
1.4.3医疗保健4
1.4.4社交媒体4
1.4.5教育领域4
1.5数据挖掘的主要挑战5
1.5.1数据规模大5
1.5.2高维数据5
1.5.3隐私安全5
1.5.4概念漂移5
1.5.5伦理问题5
习题6
第2章NumPy科学计算库7
2.1ndarray多维数组7
2.1.1创建ndarray数组7
2.1.2创建特殊的ndarray数组9
2.1.3ndarray对象的数据类型14
2.1.4ndarray对象的属性15
2.2数组元素的索引、切片和选择16
2.2.1索引和切片16
2.2.2选择数组元素的方法17
2.2.3ndarray数组的形状变换21
2.3随机数数组23
2.3.1简单随机数23
2.3.2随机分布24
2.3.3随机排列26
2.3.4随机数生成器27
2.4数组的运算28
2.4.1算术运算与函数运算28
2.4.2统计计算31
2.4.3线性代数运算33
2.4.4排序37
2.4.5数组拼接与切分38
2.5读写数据文件40
2.5.1读写二进制文件40
2.5.2读写文本文件41
习题42
第3章pandas数据分析库的数据结构43
3.1Series结构43
3.1.1创建Series43
3.1.2查看和修改Series对象的数据45
3.1.3Series对象的常用属性46
3.1.4Series对象的常用方法46
3.1.5Series对象的运算49
3.2DataFrame结构50
3.2.1创建DataFrame50
3.2.2DataFrame对象的属性52
3.3读取、修改和删除DataFrame的数据53
3.3.1读取DataFrame对象中的数据53
3.3.2修改DataFrame对象中的数据54
3.3.3删除DataFrame对象中的数据55
3.4检查 DataFrame对象是否包含指定的值57
习题58
第4章pandas数据读写与可视化59
4.1pandas读写CSV文件59
4.1.1读取CSV文件中的数据59
4.1.2往CSV文件写入数据61
4.2读取TXT文件62
4.3读写Excel文件64
4.3.1读取Excel文件中的数据64
4.3.2往Excel文件写入数据67
4.4pandas数据可视化68
4.4.1绘制折线图69
4.4.2绘制条形图70
4.4.3绘制直方图71
4.4.4绘制饼图73
4.4.5绘制箱线图73
4.4.6绘制区域图74
4.4.7绘制散点图75
习题76
第5章pandas数据整理77
5.1数据运算与排序77
5.1.1数据运算77
5.1.2数据排序79
5.1.3批量操作81
5.2数据集成82
5.2.1两个DataFrame对象的连接82
5.2.2多个DataFrame对象的堆叠85
5.2.3DataFrame对象的行列旋转86
5.3数据筛选88
5.3.1数据筛选方法88
5.3.2数据筛选综合实践91
5.4删除指定的行或列94
5.5重新命名列名、行名和重新索引95
5.6缺失值处理97
5.6.1数据缺失的原因97
5.6.2缺失值类型97
5.6.3缺失值判断98
5.6.4缺失值统计99
5.6.5筛选含有缺失值的行和列100
5.6.6缺失值补齐100
5.6.7缺失值删除107
5.7异常值处理108
5.7.1采用3σ原则处理异常值108
5.7.2箱线图处理异常值109
5.8重复值处理111
5.9数据替换、更新与转换113
5.10噪声数据处理117
5.11数据规范化118
5.11.1最小\|最大规范化118
5.11.2z分数规范化119
5.11.3小数定标规范化119
5.12数据离散化119
5.12.1无监督离散化120
5.12.2监督离散化121
5.13数据归约122
5.13.1过滤法123
5.13.2包装法124
5.13.3嵌入法125
5.14数据降维126
5.14.1主成分分析法126
5.14.2线性判别分析法127
习题128
第6章pandas数据分析129
6.1数据抽样129
6.1.1随机抽样129
6.1.2有条件抽样130
6.1.3以恒定速率抽样130
6.2数据分组与聚合131
6.2.1数据分组131
6.2.2数据聚合136
6.3描述性和相关性数据分析138
6.3.1描述性数据分析138
6.3.2相关性数据分析141
6.4数据分析综合实战145
6.4.1数据整理145
6.4.2数据处理148
习题151
第7章决策树分类153
7.1相异度和相似度153
7.1.1数据对象之间的相异度153
7.1.2数据对象之间的相似度156
7.2分类概述158
7.2.1分类的基本概念158
7.2.2分类的一般流程159
7.3决策树分类概述160
7.3.1决策树的工作原理160
7.3.2选择最佳划分属性的度量164
7.3.3决策树分类待测样本的过程167
7.4ID3决策树167
7.4.1ID3决策树的工作原理167
7.4.2Python实现ID3决策树169
7.4.3使用ID3决策树预测贷款申请177
7.4.4ID3决策树的缺点178
7.5C4.5决策树的分类算法178
7.5.1C4.5决策树的工作原理178
7.5.2Python实现C4.5决策树179
7.5.3使用C4.5决策树预测鸢尾花类别184
7.6CART决策树186
7.6.1CART决策树的工作原理186
7.6.2Python实现CART决策树186
7.7随机森林分类190
7.7.1随机森林分类原理190
7.7.2随机森林分类算法的实现190
习题192
第8章贝叶斯分类193
8.1贝叶斯定理193
8.1.1概率基础193
8.1.2贝叶斯定理简介195
8.1.3先验概率与后验概率196
8.2朴素贝叶斯分类的原理与分类流程196
8.2.1贝叶斯分类原理196
8.2.2朴素贝叶斯分类的流程196
8.3高斯朴素贝叶斯分类199
8.3.1scikitlearn实现高斯朴素贝叶斯分类199
8.3.2Python实现iris高斯朴素贝叶斯分类200
8.4多项式朴素贝叶斯分类205
8.5伯努利朴素贝叶斯分类206
习题206
第9章支持向量机分类和K近邻分类207
9.1支持向量机概述207
9.1.1支持向量机的分类原理207
9.1.2最大边缘超平面207
9.2线性支持向量机208
9.2.1线性决策边界208
9.2.2线性分类器边缘209
9.2.3训练线性支持向量机模型210
9.3Python实现支持向量机212
9.3.1SVC支持向量机分类模型213
9.3.2NuSVC支持向量机分类模型215
9.3.3LinearSVC支持向量机分类模型216
9.4K近邻分类217
9.4.1K近邻分类原理217
9.4.2K近邻分类的流程218
9.4.3K维树218
9.4.4K近邻分类算法的实现219
习题222
第10章神经网络分类223
10.1神经元223
10.1.1神经元概述223
10.1.2激活函数224
10.2感知器228
10.2.1感知器模型228
10.2.2感知器学习算法229
10.2.3Python实现感知器学习算法232
10.2.4使用感知器分类鸢尾花数据233
10.2.5单层感知器的局限性235
10.3BP神经网络236
10.3.1BP神经网络模型237
10.3.2BP神经网络学习算法238
10.3.3用BP神经网络实现鸢尾花分类240
习题243
第11章回归244
11.1回归概述244
11.1.1回归的概念244
11.1.2回归处理流程244
11.1.3回归的分类244
11.2一元线性回归244
11.2.1一元线性回归模型244
11.2.2使用一元线性回归预测房价248
11.3多元线性回归251
11.3.1多元线性回归模型251
11.3.2使用多元线性回归分析广告媒介与销售额之间的关系252
11.3.3多元线性回归模型预测电能输出254
11.4非线性回归257
11.4.1多项式回归257
11.4.2非多项式的非线性回归260
11.5逻辑回归264
11.5.1逻辑回归模型264
11.5.2对鸢尾花数据进行逻辑回归分析266
习题268
第12章聚类270
12.1聚类概述270
12.1.1聚类的概念270
12.1.2聚类方法类型271
12.1.3聚类应用领域272
12.2k均值聚类272
12.2.1k均值聚类的原理272
12.2.2Python实现对鸢尾花的k均值聚类274
12.3层次聚类方法277
12.3.1层次聚类的原理277
12.3.2Python实现凝聚层次聚类280
12.3.3BIRCH聚类的原理283
12.3.4Python实现BIRCH聚类286
12.4密度聚类287
12.4.1密度聚类的原理287
12.4.2Python实现DBSCAN密度聚类290
习题293
第13章关联规则挖掘294
13.1关联规则挖掘概述294
13.1.1购物篮分析294
13.1.2关联规则相关概念295
13.1.3关联规则类型297
13.2频繁项集的产生298
13.2.1先验原理299
13.2.2Apriori算法产生频繁项集299
13.2.3候选项集的产生与剪枝302
13.2.4频繁项集及其支持度的Python实现303
13.3关联规则的产生304
13.3.1关联规则产生的原理305
13.3.2Apriori算法产生关联规则的方式305
13.3.3频繁项集的紧凑表示307
13.4FP增长算法308
13.4.1构建FP树308
13.4.2FP树的挖掘311
习题312
第14章推荐系统314
14.1推荐系统的概念314
14.1.1基本概念314
14.1.2推荐系统的类型315
14.2基于内容的推荐316
14.2.1文本表示317
14.2.2文本相似度322
14.2.3Python实现基于内容的推荐324
14.3基于用户的协同过滤推荐327
14.3.1收集用户偏好327
14.3.2寻找相似的用户328
14.3.3为相似的用户推荐商品331
14.4基于物品的协同过滤推荐332
14.4.1获取用户对物品的评分332
14.4.2计算物品共同出现的次数和一个物品被多少个用户购买333
14.4.3计算物品之间的相似度334
14.4.4给用户推荐物品334
习题335
第15章电商评论网络爬取与情感分析337
15.1网络爬虫概述337
15.1.1网页的概念337
15.1.2网络爬虫的工作流程337
15.2使用BeautifulSoup库提取网页信息338
15.2.1BeautifulSoup库的安装338
15.2.2BeautifulSoup库的导入338
15.2.3BeautifulSoup类的基本元素339
15.2.4HTML内容搜索340
15.3使用urllib库编写简单的网络爬虫343
15.3.1发送不带参数的GET请求343
15.3.2模拟浏览器发送带参数的GET请求344
15.3.3URL解析344
15.4爬取京东小米手机评论345
15.4.1京东网站页面分析345
15.4.2编写京东小米手机评论爬虫代码348
15.5对手机评论文本进行情感分析352
15.5.1文本情感倾向分析的层次352
15.5.2中文文本情感倾向分析353
15.5.3评论文本情感倾向分析354
15.5.4评论文本分词355
15.5.5去除停用词356
15.5.6评论文本的LDA主题分析357
习题362
参考文献363