第1章 数据仓库概述 1
1.1 数据仓库及其历史 1
1.1.1 数据库技术的发展 1
1.1.2 什么是数据仓库 2
1.2 数据仓库系统及其开发工具 5
1.2.1 数据仓库系统的组成 5
1.2.2 ETL 6
1.2.3 数据仓库和数据集市的关系 6
1.2.4 元数据及其管理 7
1.3 数据仓库系统开发工具 8
1.4 数据仓库与操作型数据库的关系 9
1.4.1 从数据库到数据仓库 9
1.4.2 数据仓库为什么是分离的 10
1.4.3 数据仓库与操作型数据库的对比 10
1.4.4 ODS 11
1.5 商务智能与数据仓库的关系 11
练习题1 12
思考题1 13
第2章 数据仓库设计 14
2.1 数据仓库设计概述 14
2.1.1 数据仓库设计原则 14
2.1.2 数据仓库构建模式 14
2.1.3 数据仓库设计步骤 15
2.2 数据仓库的规划和需求分析 15
2.2.1 数据仓库的规划 15
2.2.2 数据仓库的需求分析 16
2.3 数据仓库的建模 17
2.3.1 多维数据模型及相关概念 17
2.3.2 多维数据模型的实现 18
2.3.3 数据仓库建模的主要工作 19
2.3.4 几种常见的基于关系数据库的多维数据模型 21
2.4 数据仓库的物理模型设计 26
2.4.1 确定数据的存储结构 27
2.4.2 确定索引策略 27
2.4.3 确定存储分配 27
2.5 数据仓库的部署和维护 28
2.5.1 数据仓库的部署 28
2.5.2 数据仓库的维护 28
2.6 一个简单的数据仓库SDWS设计示例 29
2.6.1 SDWS的需求分析 29
2.6.2 SDWS的建模 29
2.6.3 基于SQL Server 2008设计SDWS 35
练习题2 42
思考题2 43
第3章 OLAP技术 44
3.1 OLAP概述 44
3.1.1 什么是OLAP 44
3.1.2 OLAP技术的特性 44
3.1.3 OLAP和OLTP的区别 45
3.1.4 数据仓库与OLAP的关系 46
3.1.5 OLAP分类 46
3.2 OLAP的多维数据模型 48
3.2.1 多维数据模型的定义 48
3.2.2 OLAP的基本分析操作 49
3.2.3 一个简单的多维数据模型 53
3.3 OLAP实现 56
3.3.1 数据立方体的有效计算 56
3.3.2 索引OLAP数据 61
3.3.3 OLAP查询的有效处理 62
练习题3 63
思考题3 64
第4章 数据挖掘概述 65
4.1 什么是数据挖掘 65
4.1.1 数据挖掘的定义 65
4.1.2 数据挖掘的知识表示 66
4.1.3 数据挖掘的主要任务 66
4.1.4 数据挖掘的发展 67
4.1.5 数据挖掘的对象 67
4.1.6 数据挖掘的分类 68
4.1.7 数据挖掘与数据仓库及OLAI的关系 68
4.1.8 数据挖掘的应用 69
4.2 数据挖掘系统 70
4.2.1 数据挖掘系统的结构 70
4.2.2 数据挖掘系统的设计 71
4.2.3 常用的数据挖掘系统及其发展 73
4.3 数据挖掘过程 74
4.3.1 数据挖掘步骤 74
4.3.2 数据清理 74
4.3.3 数据集成 75
4.3.4 数据变换 76
4.3.5 数据归约 77
4.3.6 离散化和概念分层生成 79
4.3.7 数据挖掘的算法 81
4.4 数据挖掘的未来展望 83
练习题4 83
思考题4 84
第5章 关联分析 85
5.1 关联分析的概念 85
5.1.1 事务数据库 85
5.1.2 关联规则及其度量 86
5.1.3 频繁项集 87
5.1.4 挖掘关联规则的基本过程 87
5.2 Apriori算法 88
5.2.1 Apriori性质 88
5.2.2 Apriori算法 89
5.2.3 由频繁项集产生关联规则 93
5.2.4 提高Apriori算法的有效性 96
5.2.5 非二元属性的关联规则挖掘 99
5.3 频繁项集的紧凑表示 100
5.3.1 最大频繁项集 100
5.3.2 频繁闭项集 101
5.4 FP-growth算法 103
5.4.1 FP-growth算法框架 103
5.4.2 FP树构造 104
5.4.3 由FP树产生频繁项集 107
5.5 多层关联规则的挖掘 109
5.5.1 多层关联规则的挖掘概述 109
5.5.2 多层关联规则的挖掘算法 111
5.5.3 多维关联规则 114
5.6 其他类型的关联规则 114
5.6.1 基于约束的关联规则 114
5.6.2 负关联规则 114
5.7 SQL Server挖掘关联规则的示例 115
5.7.1 建立DM数据库 115
5.7.2 建立关联挖掘项目 116
5.7.3 部署关联挖掘项目并浏览结果 120
练习题5 122
思考题5 126
第6章 序列模式挖掘 127
6.1 序列模式挖掘概述 127
6.1.1 序列数据库 127
6.1.2 序列模式挖掘算法 129
6.2 Apriori类算法 130
6.2.1 AprioriAll算法 130
6.2.2 AprioriSome算法 135
6.2.3 DynamicSome算法 138
6.2.4 GSP算法 140
6.2.5 SPADE算法 144
6.3 模式增长框架的序列挖掘算法 150
6.3.1 FreeSpan算法 150
6.3.2 PrefixSpan算法 152
练习题6 155
思考题6 157
第7章 分类方法 158
7.1 分类过程 158
7.1.1 学习阶段 158
7.1.2 分类阶段 160
7.2 k-最邻近分类算法 160
7.3 决策树分类算法 162
7.3.1 决策树 162
7.3.2 建立决策树的ID3算法 163
7.3.3 建立决策树的C4.5 算法 173
7.4 贝叶斯分类算法 175
7.4.1 贝叶斯分类概述 175
7.4.2 朴素贝叶斯分类 177
7.4.3 树增强朴素贝叶斯分类 183
7.5 神经网络算法 185
7.5.1 生物神经元和人工神经元 185
7.5.2 人工神经网络 187
7.5.3 前馈神经网络用于分类 189
7.5.4 SQL Server中神经网络分类示例 196
7.6 支持向量机 199
7.6.1 线性可分时的二元分类问题 199
7.6.2 线性不可分时的二元分类问题 203
练习题7 206
思考题7 209
第8章 回归分析和时序挖掘 210
8.1 线性和非线性回归分析 210
8.1.1 一元线性回归分析 210
8.1.2 多元线性回归分析 213
8.1.3 非线性回归分析 214
8.2 逻辑回归分析 217
8.2.1 逻辑回归原理 217
8.2.2 逻辑回归模型 218
8.2.3 SQL Server中逻辑回归分析示例 219
8.3 时序分析模型 221
8.3.1 时序分析概述 221
8.3.2 时序预测的常用方法 222
8.3.3 回归分析与时序分析的关系 223
8.3.4 确定性时序模型 223
8.3.5 随机时序模型 226
8.3.6 SQL Server建立随机时序模型示例 228
8.4 时序的相似性搜索 231
8.4.1 相似性搜索的概念 231
8.4.2 完全匹配 232
8.4.3 基于离散傅里叶变换的子序列匹配 232
8.4.4 基于规范变换的子序列匹配 234
练习题8 236
思考题8 237
第9章 粗糙集理论 238
9.1 粗糙集理论概述 238
9.1.1 粗糙集理论的产生 238
9.1.2 粗糙集理论的特点 238
9.1.3 粗糙集理论在数据挖掘中的应用 239
9.2 粗糙集理论中的基本概念 239
9.2.1 集合的基本概念 239
9.2.2 信息系统和粗糙集 240
9.2.3 分类的近似度量 244
9.3 信息系统的属性约简 245
9.3.1 约简和核 245
9.3.2 分辨矩阵求核 246
9.4 决策表及其属性约简 247
9.4.1 决策表及相关概念 247
9.4.2 决策表的属性约简算法 251
9.5 决策表的值约简及其算法 258
9.5.1 决策规则及其简化 258
9.5.2 决策规则的极小化 261
9.6 粗糙集在数据挖掘中的应用示例 265
练习题9 266
思考题9 269
第10章 聚类方法 270
10.1 聚类概述 270
10.1.1 什么是聚类 270
10.1.2 相似性测度 270
10.1.3 聚类过程 272
10.1.4 聚类算法的评价 272
10.1.5 聚类方法的分类 274
10.1.6 聚类分析在数据挖掘中的应用 275
10.1.7 聚类算法的要求 275
10.2 基于划分的聚类算法 276
10.2.1 k-均值算法 276
10.2.2 k-中心点算法 283
10.3 基于层次的聚类算法 285
10.3.1 层次聚类算法概述 285
10.3.2 DIANA算法和AGNES算法 287
10.3.3 BIRCH算法 289
10.3.4 CURE算法 292
10.3.5 ROCK算法 294
10.3.6 Chameleon算法 295
10.4 基于密度的聚类算法 299
10.4.1 DBSCAN算法 299
10.4.2 OPTICS算法 302
10.5 基于网格的聚类算法 305
10.5.1 STING算法 305
10.5.2 WaveCluster算法 307
10.5.3 CLIQUE算法 309
10.6 基于模型的聚类算法 310
10.6.1 EM算法 310
10.6.2 COBWEB算法 316
10.7 离群点分析 320
10.7.1 离群点概述 320
10.7.2 常见的离群点检测方法 321
练习题10 322
思考题10 323
第11章 其他挖掘方法 324
11.1 文本挖掘 324
11.1.1 文本挖掘概述 324
11.1.2 数据预处理技术 325
11.1.3 文本结构分析 327
11.1.4 文本分类 328
11.1.5 文本聚类 330
11.1.6 文本摘要 332
11.1.7 文本关联分析 332
11.2 Web挖掘 333
11.2.1 Web挖掘概述 333
11.2.2 Web结构挖掘 334
11.2.3 Web内容挖掘 341
11.2.4 Web使用挖掘 341
11.2.5 Web挖掘的发展方向 343
11.3 空间数据挖掘 343
11.3.1 空间数据概述 344
11.3.2 空间数据立方体和空间OLAP 345
11.3.3 空间数据挖掘方法 346
练习题11 348
思考题11 348
附录 常用的优化方法 350
参考文献 354