第1章 数据科学家的武器库 1
1.1 数据科学的基本概念 1
1.2 数理统计技术 5
1.2.1 描述性统计分析 5
1.2.2 统计推断与统计建模 7
1.3 数据挖掘的技术与方法 7
1.4 描述性数据挖掘算法示例 9
1.4.1 聚类分析——客户细分 9
1.4.2 关联规则分析 10
1.5 预测性数据挖掘算法示例 11
1.5.1 决策树 11
1.5.2 KNN算法 11
1.5.3 Logistic回归 12
1.5.4 神经网络 12
1.5.5 支持向量机 13
1.5.6 集成学习 14
1.5.7 预测类模型讲解 15
1.5.8 预测类模型评估概述 17
第2章 Python概述 18
2.1 Python概述 18
2.1.1 Python简介 18
2.1.2 Python与数据科学 18
2.1.3 Pyhon2与Python3 19
2.2 Anaconda Python的安装、使用 20
2.2.1 下载与安装 20
2.2.2 使用Jupyter Notebook 21
2.2.3 使用Spyder 22
2.2.4 使用conda或pip管理第三方库 24
第3章 数据科学的Python编程基础 26
3.1 Python的基本数据类型 26
3.1.1 字符串(str) 26
3.1.2 浮点数和整数(float、int) 27
3.1.3 布尔值(Bool:True/False) 28
3.1.4 其他 29
3.2 Python的基本数据结构 29
3.2.1 列表(list) 30
3.2.2 元组(tuple) 31
3.2.3 集合(set) 31
3.2.4 字典(dict) 32
3.3 Python的程序控制 33
3.3.1 三种基本的编程结构简介 33
3.3.2 顺承结构 33
3.3.3 分支结构 34
3.3.4 循环结构 35
3.4 Pyhon的函数与模块 38
3.4.1 Python的函数 38
3.4.2 Python的模块 40
3.5 Pandas读取结构化数据 41
3.5.1 读取数据 42
3.5.2 写出数据 44
第4章 描述性统计分析与绘图 46
4.1 描述性统计进行数据探索 46
4.1.1 变量度量类型与分布类型 46
4.1.2 分类变量的统计量 48
4.1.3 连续变量的分布与集中趋势 49
4.1.4 连续变量的离散程度 51
4.1.5 数据分布的对称与高矮 52
4.2 制作报表与统计制图 53
4.3 制图的步骤 58
第5章 数据整合和数据清洗 64
5.1 数据整合 65
5.1.1 行列操作 65
5.1.2 条件查询 67
5.1.3 横向连接 70
5.1.4 纵向合并 72
5.1.5 排序 74
5.1.6 分组汇总 75
5.1.7 拆分、堆叠列 77
5.1.8 赋值与条件赋值 79
5.2 数据清洗 82
5.2.1 重复值处理 82
5.2.2 缺失值处理 83
5.2.3 噪声值处理 84
5.3 RFM方法在客户行为分析上的运用 90
5.3.1 行为特征提取的RFM方法论 90
5.3.2 使用RFM方法计算变量 91
5.3.3 数据整理与汇报 92
第6章 数据科学的统计推断基础 94
6.1 基本的统计学概念 94
6.1.1 总体与样本 94
6.1.2 统计量 95
6.1.3 点估计、区间估计和中心极限定理 95
6.2 假设检验与单样本t检验 100
6.2.1 假设检验 100
6.2.2 单样本t检验 102
6.3 双样本t检验 103
6.4 方差分析(分类变量和连续变量关系检验) 105
6.4.1 单因素方差分析 106
6.4.2 多因素方差分析 110
6.5 相关分析(两连续变量关系检验) 112
6.5.1 相关系数 112
6.5.2 散点矩阵图 116
6.6 卡方检验(二分类变量关系检验) 118
6.6.1 列联表 118
6.6.2 卡方检验 120
第7章 客户价值预测:线性回归模型与诊断 122
7.1 线性回归 123
7.1.1 简单线性回归 124
7.1.2 多元线性回归 130
7.1.3 多元线性回归的变量筛选 133
7.2 线性回归诊断 136
7.2.1 残差分析 137
7.2.2 强影响点分析 142
7.2.3 多重共线性分析 144
7.2.4 小结线性回归诊断 147
7.3 正则化方法 148
7.3.1 岭回归 149
7.3.2 LASSO回归 155
第8章 Logistic回归构建初始信用评级 159
8.1 Logistic回归的相关关系分析 160
8.2 Logistic回归模型及实现 162
8.2.1 Logistic回归与发生比 162
8.2.2 Logistic回归的基本原理 164
8.2.3 在Python中实现Logistic回归 165
8.3 Logistic回归的极大似然估计 170
8.3.1 极大似然估计的概念 170
8.3.2 Logistics回归的极大似然估计 171
8.4 模型评估 172
8.4.1 模型评估方法 172
8.4.2 ROC曲线的概念 172
8.4.3 在Python中实现ROC曲线 176
第9章 使用决策树进行初始信用评级 179
9.1 决策树概述 179
9.2 决策树算法 180
9.2.1 ID3建树算法原理 181
9.2.2 C4.5建树算法原理 184
9.2.3 CART建树算法原理 187
9.2.4 决策树的剪枝 189
9.3 在Python中实现决策树 192
9.3.1 建模 193
9.3.2 模型评估 195
9.3.3 决策树的可视化 196
9.3.4 参数搜索调优 198
第10章 神经网络 201
10.1 神经元模型 202
10.2 单层感知器 203
10.3 BP神经网络 206
10.4 多层感知器的scikit-learn代码实现 210
第11章 分类器入门:最近邻域与朴素贝叶斯 215
11.1 KNN算法 215
11.1.1 KNN算法原理 215
11.1.2 在Python中实现KNN算法 217
11.2 朴素贝叶斯分类 220
11.2.1 贝叶斯公式 221
11.2.2 朴素贝叶斯分类原理 221
11.2.3 朴素贝叶斯的参数估计 222
11.2.4 在Python中实现朴素贝叶斯 223
第12章 高级分类器:支持向量机 224
12.1 线性可分与线性不可分 225
12.2 线性可分支持向量机 226
12.2.1 函数间隔和几何间隔 227
12.2.2 学习策略 227
12.2.3 对偶方法求解 229
12.2.4 线性可分支持向量机例题 230
12.3 线性支持向量机与软间隔最大化 233
12.4 非线性支持向量机与核函数 235
12.4.1 核函数 236
12.4.2 非线性支持向量机的学习 238
12.4.3 示例与Python实现 238
12.5 使用支持向量机的案例 239
第13章 连续变量的特征选择与转换 244
13.1 方法概述 245
13.2 主成分分析 246
13.2.1 主成分分析简介 246
13.2.2 主成分分析原理 247
13.2.3 主成分分析的运用 250
13.2.4 在Python中实现主成分分析 250
13.3 基于主成分的冗余变量筛选 253
13.4 因子分析 254
13.4.1 因子分析模型 255
13.4.2 因子分析算法 256
13.4.3 在Python中实现因子分析 258
第14章 客户分群与聚类 262
14.1 聚类算法概述 264
14.2 聚类算法基本概念 265
14.2.1 变量标准化与分布形态转换 266
14.2.2 变量的维度分析 267
14.3 聚类模型的评估 268
14.4 层次聚类 269
14.4.1 层次聚类原理 269
14.4.2 层次聚类在Python中的实现 272
14.5 基于划分的聚类 276
14.5.1 k-means聚类原理 276
14.5.2 k-means聚类的应用场景 278
14.5.3 在Python中实现k-means聚类 278
14.6 基于密度的聚类 283
14.6.1 详谈基于密度聚类 283
14.6.2 在Python中实现密度聚类 285
14.7 案例:通信客户业务使用偏好聚类 286
14.7.1 保持原始变量分布形态进行聚类 287
14.7.2 对变量进行分布形态转换后聚类 290
第15章 关联规则 294
15.1 关联规则 294
15.1.1 关联规则的一些概念 294
15.1.2 Apriori算法原理 295
15.1.3 在Python中实现关联规则 298
15.2 序列模式 304
15.2.1 序列模式简介与概念 304
15.2.2 序列模式算法 305
15.2.3 在Python中实现序列模式 308
第16章 排序模型的不平衡分类处理 318
16.1 不平衡分类概述 318
16.2 欠采样法 320
16.2.1 随机欠采样法 320
16.2.2 Tomek Link法 321
16.3 过采样法 321
16.3.1 随机过采样法 322
16.3.2 SMOTE法 322
16.4 综合采样法 323
16.5 在Python中实现不平衡分类处理 323
第17章 集成学习 328
17.1 集成学习概述 328
17.2 Bagging 330
17.2.1 Bagging算法实现 330
17.2.2 随机森林 331
17.3 Boosting 332
17.4 偏差(Bias)、方差(Variance)与集成方法 334
17.4.1 偏差与方差 334
17.4.2 Bagging与Boosting的直观理解 335
第18章 时间序列建模 337
18.1 认识时间序列 337
18.2 效应分解法时间序列分析 338
18.3 平稳时间序列分析ARMA模型 343
18.3.1 平稳时间序列 343
18.3.2 ARMA模型 344
18.3.3 在Python中进行AR建模 348
18.4 非平稳时间序列分析ARIMA模型 351
18.4.1 差分与ARIMA模型 352
18.4.2 在Python中进行ARIMA建模 354
18.5 ARIMA方法建模总结 363
第19章 商业数据挖掘案例 365
19.1 个人贷款违约预测模型 365
19.1.1 数据介绍 366
19.1.2 业务分析 369
19.1.3 数据理解 369
19.1.4 数据整理 371
19.1.5 建立分析模型 375
19.1.6 模型运用 376
19.1.7 流程回顾 377
19.2 慈善机构精准营销案例 377
19.2.1 构造营销响应模型 379
19.2.2 构造客户价值预测模型 389
19.2.3 制订营销策略 393
19.2.4 案例过程回顾与不足 394
19.3 旅游企业客户洞察案例 395
19.3.1 案例说明 395
19.3.2 数据预处理 397
19.3.3 使用k-means聚类建模 403
19.3.4 对各个簇的特征进行描述 405
19.4 个人3C产品精准营销案例 409
19.4.1 案例说明 409
19.4.2 数据预处理 411
19.4.3 建模 413
19.4.4 模型评估 414
19.4.5 下一步建议 417
附录A 数据说明 418
参考文献 423