優雅的SciPy|Python科學研究的美學

Book description

“本書滿足以下重要需求:引導學生優雅的實作訊號與影像、圖學和生物資訊學中的經典演算法”
-Lav Varshney
University of Illinois

“雖然沒有一本書可以教完科學研究Python的所有工具,但是有這本書會讓你看到,它可以幫你節省時間、減少痛苦。”
-Greg Wilson
Curriculum Lead, DataCamp


歡迎來到科研界Python社群,如果你是一個寫Python的科學研究者,這本實用的指引書,不只教你SciPy和相關函式庫的重要基礎,而且能讓你看到美麗、易讀,同時能應用在實務上程式碼。你會學到如何寫出具備清楚、簡潔和高效的優雅程式碼。

閱讀本書,會看到許多科研界Python生態圈的範例程式碼,這些程式碼足以代表本書的精神。使用實際的科研資料,用SciPy、NumPy、Pandas、scikit-image和其它Python函式庫解決真實世界的問題。

‧探索NumPy陣列,數值科學計算的底層結構
‧使用百分位正規化使測量值貼和特定分布
‧使用分區相鄰圖(Region Adjacency Graph)表示一張影像的不同分區
‧用快速傅利葉轉換將時間或空間資料轉換至頻率域
‧使用SciPy的稀疏模組解決稀疏矩陣問題,包括影像分區
‧使用SciPy套件執行線性代數
‧使用SciPy的最佳化模組進行影像對齊(校正)
‧用Python資料串流和Toolz函式庫處理大型資料集合

Table of contents

  1. 封面
  2. 書名頁
  3. 授權聲明頁
  4. 目錄
  5. 前言 (1/4)
  6. 前言 (2/4)
  7. 前言 (3/4)
  8. 前言 (4/4)
  9. 第一章 優雅的NumPy: 科研界Python的基礎
  10. 數據介紹:什麼是基因表現?
  11. NumPy N維陣列
  12. 為何用ndarray不用Python list?
  13. 向量化
  14. 廣播
  15. 基因表現資料集
  16. 用pandas讀取資料
  17. 正規化
  18. 個體正規化
  19. 基因正規化
  20. 對樣本和基因作正規化:RPKM (1/2)
  21. 對樣本和基因作正規化:RPKM (2/2)
  22. 本章回顧
  23. 第二章 NumPy和SciPy的 百分位正規化
  24. 取得資料
  25. 個體的基因表達分布差異
  26. 雙分群計數資料
  27. 視覺化群
  28. 預測生存率
  29. 更進一步:使用TCGA的病患分群
  30. 更進一步:製作TCGA的分群
  31. 第三章 用ndimage處理 影像區域關係
  32. 影像就是NumPy陣列
  33. 練習題:加入格線
  34. 訊號處理中的濾波
  35. 影像濾波(2維濾波器)
  36. 通用濾波器:鄰值的功能
  37. 練習題:康威的生命遊戲
  38. 練習題:索貝爾梯度量值
  39. 圖和NetworkX函式庫
  40. 練習題:用SciPy繪製貼合曲線
  41. 影像區塊分割
  42. ndimage:如何從圖片分割建立圖?
  43. 整合實作:平均色彩分割
  44. 第四章 頻率和快速傅立葉轉換
  45. 什麼是頻率?
  46. 實例:鳥歌頻譜
  47. 歷史
  48. 實作
  49. 選擇DFT的長度
  50. 更多關於DFT的觀念
  51. 頻率和它們的順序
  52. 視窗
  53. 真實應用:分析雷達資料 (1/2)
  54. 真實應用:分析雷達資料 (2/2)
  55. 頻率域上的訊號特性
  56. 套用視窗
  57. 雷達影像
  58. FFT的更多應用
  59. 延伸閱讀
  60. 練習題:影像卷積
  61. 第五章 使用稀疏座標矩陣的列聯表
  62. 列聯表
  63. 練習題:列聯矩陣的計算複雜度
  64. 練習題:計算列聯矩陣的另一種演算法
  65. 練習題:多種分類的列聯矩陣
  66. scipy.sparse資料格式
  67. COO格式
  68. 練習題:COO的表示方法
  69. 壓縮稀疏列格式
  70. 稀疏矩陣的應用:照片轉換
  71. 練習題:照片旋轉
  72. 回到列聯表
  73. 練習題:減少記憶體使用
  74. 用在影像分區的列聯表
  75. 簡單說明資訊理論
  76. 練習題:計算條件熵
  77. 影像分區的理論理論:資訊變異性
  78. 將使用NumPy陣列程式碼改為稀疏矩陣
  79. 利用資訊變異性 (1/2)
  80. 利用資訊變異性 (2/2)
  81. 延伸工作:實作影像分區
  82. 第六章 SciPy中的線性代數
  83. 線性代數基礎概念
  84. 圖中的拉普拉思矩陣
  85. 練習題:旋轉矩陣 (1/2)
  86. 練習題:旋轉矩陣 (2/2)
  87. 拉普拉斯和腦資料
  88. 練習題:關聯視圖
  89. 練習挑戰題:稀疏矩陣線性代數
  90. PageRank:線性代數應用在評等和重要性上
  91. 練習題:處理不定值
  92. 練習題:評估不同的特徵向量方法
  93. 結論說明
  94. 第七章 Scpy中的函式最佳化
  95. SciPy的最佳化:scipy.optimize
  96. 一個範例:計算影像位移最佳化
  97. 影像旋轉和最佳化
  98. 用Basin Hopping避免本地最小值
  99. 練習題:修改對齊函式
  100. “什麼是最好的?”:請選擇正確目標函式
  101. 第八章 在小電腦中用Toolz 處理大數據
  102. 用yield作串流
  103. Toolz串流函式庫
  104. k-mer計數和錯誤修正
  105. 柯里化:串流的調味
  106. 回到k-mer
  107. 練習題:串流資料的PCA
  108. 完整基因的Markov模型
  109. 練習題:串流解壓縮
  110. 結語
  111. 附錄
  112. 練習題解答
  113. 索引 (1/2)
  114. 索引 (2/2)
  115. 關於作者
  116. 出版記事

Product information

  • Title: 優雅的SciPy|Python科學研究的美學
  • Author(s): Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
  • Release date: May 2018
  • Publisher(s): GoTop Information, Inc.
  • ISBN: 9789864767878

You might also like

book

C++语言导学(原书第2版)

by 本贾尼 斯特劳斯特鲁普

本书简洁、自成体系,包含C++ 语言大多数主要特性和标准库组件。当然,这些并未深入介绍,而是给予程序员一个有意义的语言概述、一些关键的例子以及起步阶段的实用帮助。本书的目标不是教你如何编程,它也不可能是你精通C++ 的唯一资源。但是,如果你是一名C 或C++ 程序员,希望更加熟悉现在的C++ 语言,或者你是一名精通其他语言的程序员,希望获得有关现代C++ 语言本质和优点的精确描述,本书是最优选择。

book

精通機器學習|使用Python

by Sarah Guido, Andreas C. Mueller

資料科學的學習指引 “對任何想要使用Python開始機器學習的人,這本書是很棒且超實用的資源。真希望當我開始使用scikit-learn時有這本書!” -Hanna Wallach, 微軟研究院資深研究員 機器學習已成為許多商業應用程式與研究專案的精華部分,但這個領域並不是大公司中規模龐大的研究團隊所獨有。就算是使用Python的初學者,這本書也能教會你實際的方法,來建立自己的機器學習解決方案。以現今可以取得的資料量來說,只要你能想到的,機器學習應用程式都能做到。 你將學習必要的步驟,使用Python和scikit-learn函式庫,來建立成功的機器學習應用程式。作者Andreas Müller和Sarah Guido聚焦於使用機器學習演算法的實務面向,而不是它們背後的數學。熟悉NumPy和matplotlib函式庫,將幫助你能從這本書獲益更多。 透過這本書,你將學到: ‧基本概念和機器學習應用程式 ‧廣泛應用機器學習演算法的優點和缺點 ‧使用機器學習如何重現資料,包含資料的重點面向 ‧模型評估的進階方法和參數調整 ‧對鏈結模型的pipeline概念和封裝工作流程 ‧運作文字資料的方法,包含特定文字的處理技術 …

book

成為卓越程式設計師的38項必修法則

by Pete Goodliffe

“本書會引發你對程式設計藝術與科學的熱情。Pete 知道:卓越的軟體,是優秀的人們盡最大努力所完成的。” -Lisa Crispin 《Agile Testing: A Practical Guide for Testers and Agile Teams》作者 如果你熱愛程式設計,想要提升自己的能力,那你就找到正確的資源了。《Code Craft …

book

JAVASCRIPT錦囊妙計第二版

by Shelley Powers

網頁程式設計 "這是一本涵蓋全面並且擁有豐富實務範例的書。" -Dr. AxelRauschmayer, 《Speaking JavaScript》的作者 JavaScript在應用規模上日趨廣泛,如何善用JavaScript解決問題已是一門重要的課題。本書提供眾多的範例程式。這些範例涵蓋瀏覽器、伺服器及行動裝置領域的各種應用。每個範例包含可再利用的程式碼,對JavaScript物件、Node、Ajax、JSON、資料持續、圖形與多媒體、框架、JavaScript模組化、API等均提供了實用的建議。 針對有開發經驗的讀者,本書第一部分包羅JavaScript傳統應用方式以及新進概念。第二部份深入探討伺服器、行動應用開發以及許多最新工具。在過程中你將省下許多寶貴時間並學習到更多尖端技術。 主題簡介: ‧JavaScript經典 ‧陣列、函式與JavaScript物件 ‧存取使用者介面 ‧測試與可及性 ‧建立及使用JavaScript函式庫 ‧前後端的Ajax溝通 ‧豐富互動的網頁效果 …