本书旨在介绍开源的Python算法库和数学工具包SciPy。近年来,基于NumPy和SciPy的完整生态系统迅速发展起来,并在天文学、生物学、气象学和气候科学,以及材料科学等多个学科得到了广泛应用。本书结合大量代码实例,详尽展示了SciPy的强大科学计算能力,包括用NumPy和SciPy进行分位数标准化,用ndimage实现图像区域网络,频率与快速傅里叶变换,用稀疏坐标矩阵实现列联表,SciPy中的线性代数,SciPy中的函数优化等。
前言 ix
第 1章 优雅的NumPy:Python科学应用的基础 1
1.1 数据简介:什么是基因表达 2
1.2 NumPy的N维数组 6
1.2.1 为什么用N维数组代替Python列表 7
1.2.2 向量化 9
1.2.3 广播 9
1.3 探索基因表达数据集 10
1.4 标准化 13
1.4.1 样本间的标准化 13
1.4.2 基因间的标准化 19
1.4.3 样本与基因标准化:RPKM 21
1.5 小结 27
第 2章 用NumPy和SciPy进行分位数标准化 28
2.1 获取数据 30
2.2 独立样本间的基因表达分布差异 30
2.3 计数数据的双向聚类 33
2.4 簇的可视化 35
2.5 预测幸存者 37
2.5.1 进一步工作:使用TCGA患者簇 41
2.5.2 进一步工作:重新生成TCGA簇 41
第3章 用ndimage实现图像区域网络 42
3.1 图像就是NumPy数组 43
3.2 信号处理中的滤波器 48
3.3 图像滤波(二维滤波器) 53
3.4 通用滤波器:邻近值的任意函数 55
3.4.1 练习:康威的生命游戏 56
3.4.2 练习:Sobel梯度幅值 56
3.5 图与NetworkX库 57
3.6 区域邻接图 60
3.7 优雅的ndimage:如何根据图像区域建立图对象 63
3.8 归纳总结:平均颜色分割 65
第4章 频率与快速傅里叶变换 67
4.1 频率的引入 67
4.2 示例:鸟鸣声谱图 69
4.3 历史 74
4.4 实现 75
4.5 选择离散傅里叶变换的长度 75
4.6 更多离散傅里叶变换概念 77
4.6.1 频率及其排序 77
4.6.2 加窗 83
4.7 实际应用:分析雷达数据 86
4.7.1 频域中的信号性质 91
4.7.2 加窗之后 93
4.7.3 雷达图像 95
4.7.4 快速傅里叶变换的进一步应用 99
4.7.5 更多阅读 99
4.7.6 练习:图像卷积 100
第5章 用稀疏坐标矩阵实现列联表 101
5.1 列联表 102
5.1.1 练习:混淆矩阵的计算复杂度 103
5.1.2 练习:计算混淆矩阵的另一种方法 103
5.1.3 练习:多类混淆矩阵 104
5.2 scipy.sparse数据格式 104
5.2.1 COO格式 104
5.2.2 练习:COO表示 105
5.2.3 稀疏行压缩格式 106
5.3 稀疏矩阵应用:图像转换 108
5.4 回到列联表 112
5.5 图像分割中的列联表 113
5.6 信息论简介 114
5.7 图像分割中的信息论:信息变异 117
5.8 转换NumPy数组代码以使用稀疏矩阵 119
5.9 使用信息变异 120
第6章 SciPy中的线性代数 128
6.1 线性代数基础 128
6.2 图的拉普拉斯矩阵 129
6.3 大脑数据的拉普拉斯矩阵 134
6.3.1 练习:显示近邻视图 138
6.3.2 练习挑战:稀疏矩阵线性代数 138
6.4 PageRank:用于声望和重要性的线性代数 139
6.4.1 练习:处理悬挂节点 144
6.4.2 练习:不同特征向量方法的等价性 144
6.5 结束语 144
第7章 SciPy中的函数优化 145
7.1 SciPy优化模块:sicpy.optimize 146
7.2 用optimize进行图像配准 152
7.3 用basin hopping算法避开局部最小值 155
7.4 选择正确的目标函数 156
第8章 用Toolz在笔记本电脑上玩转大数据 163
8.1 用yield进行流处理 164
8.2 引入Toolz流库 167
8.3 k-mer计数与错误修正 169
8.4 柯里化:流的调料 173
8.5 回到k-mer计数 175
8.6 全基因组的马尔可夫模型 177
后记 182
附录 练习答案 186
作者简介 206
封面简介 206
猜您喜欢
推荐内容
开源项目推荐 更多
热门活动
热门器件
用户搜过
随便看看
热门下载
热门文章
热门标签
评论