前言 xi 第 1章 数据的输入与输出 1 1.1 究竟何谓数据 1 1.2 数据模型 2 1.2.1 一维数组 2 1.2.2 多维数组 2 1.2.3 数据对象 3 1.2.4 矩阵和向量 3 1.2.5 JSON 4 1.3 处理实际数据 4 1.3.1 空值 4 1.3.2 空格 5 1.3.3 解析错误 5 1.3.4 异常值 6 1.4 管理数据文件 6 1.4.1 首先理解文件内容 7 1.4.2 读取文本文件 8 1.4.3 读取JSON文件 10 1.4.4 读取图像文件 11 1.4.5 写入文本文件 12 1.5 掌握数据库操作 15 1.5.1 命令行客户端 15 1.5.2 结构化查询语言 16 1.5.3 Java数据库连接 18 1.6 通过绘图将数据可视化 20 1.6.1 创建简单图形 21 1.6.2 混合类型图的绘制 24 1.6.3 把图存入文件 26 第 2章 线性代数 28 2.1 构造向量和矩阵 29 2.1.1 数组存储 30 2.1.2 块存储 31 2.1.3 映射存储 31 2.1.4 访问元素 31 2.1.5 处理子阵 33 2.1.6 随机��� 34 2.2 向量与矩阵的运算 35 2.2.1 缩放 35 2.2.2 转置 36 2.2.3 加与减 36 2.2.4 长度 37 2.2.5 距离 38 2.2.6 相乘 39 2.2.7 内积 40 2.2.8 外积 41 2.2.9 逐项积 42 2.2.10 复合运算 43 2.2.11 仿射变换 43 2.2.12 映射函数 44 2.3 矩阵分解 47 2.3.1 Cholesky分解 47 2.3.2 LU分解 48 2.3.3 QR分解 48 2.3.4 奇异值分解 48 2.3.5 特征分解 49 2.3.6 行列式 50 2.3.7 矩阵逆 50 2.4 求解线性方程组 51 第3章 统计学 53 3.1 数据的概率起源 54 3.1.1 概率密度 54 3.1.2 累积概率 55 3.1.3 统计矩 55 3.1.4 熵 56 3.1.5 连续分布 57 3.1.6 离散分布 68 3.2 数据集的特征 73 3.2.1 矩的计算 73 3.2.2 描述性统计 74 3.2.3 多元统计 79 3.2.4 协方差与相关系数 81 3.2.5 回归 82 3.3 处理大数据集 84 3.3.1 累积统计 85 3.3.2 统计结果的归并 87 3.3.3 回归 88 3.4 数据库内置函数的应用 89 第4章 数据操作 91 4.1 转换文本数据 91 4.1.1 从文档中提取标记 91 4.1.2 利用字典 92 4.1.3 文档向量化 94 4.2 数值数据的缩放与归一化 97 4.2.1 对列进行缩放 97 4.2.2 对行进行缩放 99 4.2.3 矩阵的缩放算子 100 4.3 将数据降维至主成分 102 4.3.1 协方差方法 105 4.3.2 SVD方法 106 4.4 创建训练集、验证集及测试集 108 4.4.1 基于索引的重新采样 108 4.4.2 基于列表的重新采样 110 4.4.3 小批量 111 4.5 标签的编码 111 4.5.1 泛型编码器 111 4.5.2 一位有效编码 112 第5章 学习与预测 115 5.1 学习算法 115 5.1.1 迭代学习过程 115 5.1.2 梯度下降优化方法 117 5.2 评估学习过程 119 5.2.1 损失函数*小化 119 5.2.2 方差和的*小化 127 5.2.3 轮廓系数 127 5.2.4 对数似然性 128 5.2.5 分类器的准确率 129 5.3 无监督型学习 131 5.3.1 K均值聚类 131 5.3.2 DBSCAN 133 5.3.3 高斯混合 137 5.4 监督型学习 141 5.4.1 朴素贝叶斯 142 5.4.2 线性模型 148 5.4.3 深度网络 156 第6章 Hadoop MapReduce 161 6.1 Hadoop分布式文件系统 161 6.2 MapReduce体系结构 162 6.3 编写MapReduce应用 163 6.3.1 剖析MapReduce任务 164 6.3.2 Hadoop数据类型 164 6.3.3 映射器 167 6.3.4 归约器 168 6.3.5 JSON字符串作为文本的简单性 169 6.3.6 部署技巧 170 6.4 MapReduce 示例 171 6.4.1 单词计数 171 6.4.2 定制单词计数 172 6.4.3 稀疏线性代数 173 附录A 数据集 177 作者简介 186 关于封面 186