Python 高手修煉之道 : 數據處理與機器學習實戰

許向武

  • 出版商: 人民郵電
  • 出版日期: 2020-11-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 頁數: 375
  • 裝訂: 平裝
  • ISBN: 7115548064
  • ISBN-13: 9787115548061
  • 相關分類: Machine Learning
  • 立即出貨 (庫存=1)

  • Python 高手修煉之道 : 數據處理與機器學習實戰-preview-1
Python 高手修煉之道 : 數據處理與機器學習實戰-preview-1

買這商品的人也買了...

商品描述

本書系統介紹瞭如何入門Python並利用Python進行數據處理與機器學習實戰。
本書從Python的基礎安裝開始介紹,系統梳理了Python的入門語法知識,
歸納介紹了圖像處理、數據文件讀寫、數據庫操作等Python基本技能;
然後詳細講解了NumPy、Matplotlib、Pandas、Scipy、
Scikit-learn等在數據處理、機器學習領域的應用。
代碼實例涵蓋網絡爬蟲、數據處理、視覺識別、機器學習等應用領域。
作者還精心創作了語感訓練100題、Python內置函數(類)手冊、
從新手到高手的100個模塊等內容,以幫助讀者更好地學習並掌握Python這一工具。

作者簡介

許向武

CSDN博客專家,2019 年度CSDN博客之星,個人主頁訪問量超百萬,資深程序員,
使用Python 語言編程超過10年,長期從事數據處理工作,服務於多家科研機構和科研項目,
曾參與過子午工程、風雲系列氣象衛星、空間探測衛星等多個項目的數據處理,任山東遠思信息科技有限公司CEO。

目錄大綱

前言 1
本書面向的讀者對象 3
代碼和命令的排版約定 3
閱讀和學習的方法 4
資源下載與技術交流 4
致謝 5
第 1章 零基礎必讀 1
1.1 安裝Python 1
1.1.1 Python的各種發行版 1
1.1.2 安裝與運行 2
1.1.3 重新安裝 4
1.2 以交互方式運行Python代碼 4
1.2.1 使用Python IDLE交互操作 4
1.2.2 使用IPython交互操作 5
1.3 以腳本方式運行Python程序 6
1.3.1 運行 6
1.3.2 調試 7
1.4 使用pip安裝和管理模塊 7
1.4.1 使用pip的兩種方式 7
1.4.2 安裝模塊 8
1.4.3 卸載模塊 9
1.4.4 查看模塊列表和模塊信息 9

第 2章 Python入門 11
2.1 基礎語法 11
2.1.1 一條絕對原則——縮進 11
2.1.2 兩個頂級定義——函數和類 12
2.1.3 三種語句結構——順序、分支和循環 14
2.1.4 四種數據類型——整型、浮點型、布爾型、字符串 16
2.1.5 五大內置類——列表、字典、元組、集合、字符串 18
2.1.6 十組最常用的內置函數 22
2.2 進階語法 30
2.2.1 函數的參數 30
2.2.2 異常捕獲與處理 32
2.2.3 三元表達式 34
2.2.4 列表推導式 34
2.2.5 斷言 35
2.2.6 with-as 36
2.2.7 lambda函數 36
2.2.8 迭代器和生成器 37
2.2.9 裝飾器 38
2.2.10 閉包 39
2.3 面向對象編程 40
2.3.1 類和對象 40
2.3.2 類的成員 41
2.3.3 靜態變量和實例變量 42
2.3.4 面向對象三要素 43
2.3.5 抽象類 46
2.3.6 單實例模式 47
2.4 編碼規範 47
2.4.1 編碼格式聲明 49
2.4.2 文檔字符串 49
2.4.3 導入模塊 50
2.4.4 常量和全局變量定義 50
2.4.5 當前腳本代碼執行 50
2.4.6 命名規範 51
2.4.7 縮進 51
2.4.8 註釋 51
2.4.9 引號 52
2.4.10 空行和空格 52
2.5 語感訓練100題 53

第3章 Python基本技能 74
3.1 時間和日期處理 74
3.1.1 time模塊 74
3.1.2 datetime模塊 77
3.2 圖像處理 79
3.2.1 PIL和pillow模塊 79
3.2.2 PyOpenCV模塊 85
3.3 數據文件讀寫 87
3.3.1 讀寫Excel文件 88
3.3.2 讀寫CSV文件 91
3.3.3 讀寫hdf文件 92
3.3.4 讀寫netCDF文件 93
3.4 數據庫操作 95
3.4.1 使用SQLite數據庫 95
3.4.2 使用MySQL數據庫 98
3.4.3 使用MongoDB數據庫 99
3.5 數據抓取 101
3.5.1 urllib模塊 101
3.5.2 requests模塊 103
3.6 數據解析 106
3.6.1 使用Beautifulsoup解析html/xml數據 106
3.6.2 使用正則表達式解析文本數據 111
3.7 系統相關操作 115
3.7.1 os模塊 115
3.7.2 sys模塊 118
3.8 線程技術 120
3.8.1 戲說線程和進程 120
3.8.2 創建、啟動和管理線程 121
3.8.3 線程同步 123
3.8.4 線程池 129
3.9 進程技術 130
3.9.1 再論線程和進程 130
3.9.2 創建、啟動和管理進程 131
3.9.3 進程間通信 133
3.9.4 進程池 142
3.9.5 MapReduce模型 143
3.10 源碼打包 144
3.10.1 打包成可執行文件 144
3.10.2 打包成模塊安裝文件 146

第4章 科學計算基礎軟件包NumPy 149
4.1 NumPy概覽 149
4.1.1 安裝和導入 150
4.1.2 列表VS數組 150
4.1.3 數組的數據類型 151
4.1.4 數組的屬性 152
4.1.5 數組的方法 153
4.1.6 維、秩、軸 153
4.1.7 廣播和矢量化 155
4.2 創建數組 156
4.2.1 蠻力構造法 156
4.2.2 特殊數值法 157
4.2.3 隨機數值法 158
4.2.4 定長分割法 160
4.2.5 重復構造法 161
4.2.6 網格構造法 162
4.2.7 自定義數據類型 163
4.3 操作數組 164
4.3.1 索引和切片 164
4.3.2 改變結構 166
4.3.3 合並 168
4.3.4 拆分 169
4.3.5 復制 169
4.3.6 排序 170
4.3.7 查找 171
4.3.8 篩選 172
4.3.9 數組I/O 174
4.4 常用函數 176
4.4.1 常量 176
4.4.2 命名空間 177
4.4.3 數學函數 178
4.4.4 統計函數 181
4.4.5 插值函數 183
4.4.6 多項式擬合函數 184
4.4.7 自定義廣播函數 186
4.5 掩碼數組 187
4.5.1 創建掩碼數組 188
4.5.2 訪問掩碼數組 190
4.6 矩陣對象 193
4.6.1 創建矩陣 193
4.6.2 矩陣特有屬性 194
4.6.3 矩陣乘法 195
4.7 隨機抽樣子模塊 197
4.7.1 隨機數 197
4.7.2 隨機抽樣 198
4.7.3 正態分佈 198
4.7.4 偽隨機數的深度思考 199

第5章 應用最廣泛的繪圖庫Matplotlib 201
5.1 快速入門 201
5.1.1 畫布 202
5.1.2 子圖與子圖佈局 202
5.1.3 坐標軸與刻度和名稱 204
5.1.4 圖例和文本標註 205
5.1.5 顯示和保存 206
5.1.6 兩種使用風格 207
5.2 豐富多樣的圖形 209
5.2.1 曲線圖 210
5.2.2 散點圖 212
5.2.3 等值線圖 213
5.2.4 矢量合成圖 214
5.2.5 直方圖 216
5.2.6 餅圖 217
5.2.7 箱線圖 218
5.2.8 繪制圖像 219
5.2.9 極坐標繪圖 221
5.3 風格和樣式 222
5.3.1 畫布設置 222
5.3.2 子圖佈局 223
5.3.3 顏色 224
5.3.4 線條和點的樣式 225
5.3.5 坐標軸 227
5.3.6 刻度 230
5.3.7 文本 234
5.3.8 圖例 236
5.3.9 網格設置 237
5.4 Matplotlib擴展 237
5.4.1 使用Basemap繪制地圖 237
5.4.2 3D繪圖工具包 238

第6章 結構化數據分析工具Pandas 241
6.1 Pandas概覽 241
6.1.1 安裝和使用 241
6.1.2 Pandas的特點 242
6.2 Pandas的數據結構 243
6.2.1 索引數組Index 243
6.2.2 帶標簽的一維同構數組Series 244
6.2.3 帶標簽的二維異構表格DataFrame 245
6.3 基本操作 248
6.3.1 數據預覽 248
6.3.2 數據選擇 250
6.3.3 改變數據結構 252
6.3.4 改變數據類型 254
6.3.5 廣播與矢量化運算 254
6.3.6 行列級廣播函數 256
6.4 高級應用 257
6.4.1 分組 257
6.4.2 聚合 259
6.4.3 層次化索引 261
6.4.4 表級廣播函數 264
6.4.5 日期時間索引對象 265
6.4.6 數據可視化 266
6.4.7 數據I/O 269
6.5 Pandas擴展 272
6.5.1 統計擴展模塊Statsmodels 272
6.5.2 可視化擴展Seaborn 275

第7章 科學計算工具包SciPy 277
7.1 SciPy概覽 277
7.1.1 SciPy的組成 277
7.1.2 安裝和導入 278
7.2 數據插值 279
7.2.1 一維插值 279
7.2.2 二維插值 281
7.2.3 離散數據插值到網格 283
7.3 曲線擬合 286
7.3.1 最小二乘法擬合 286
7.3.2 使用curve_fit函數擬合 288
7.3.3 多項式擬合 290
7.4 傅里葉變換 292
7.4.1 時域-頻域的轉換 292
7.4.2 一維傅里葉變換的應用 296
7.4.3 二維傅里葉變換的應用 297
7.5 圖像處理 299
7.5.1 圖像捲積 300
7.5.2 邊緣檢測 301
7.5.3 侵蝕和膨脹 303
7.5.4 圖像測量 305
7.6 積分 306
7.6.1 對給定函數的定積分 306
7.6.2 對給定樣本的定積分 307
7.6.3 二重定積分 307
7.7非線性方程求根 308
7.7.1 非線性方程 308
7.7.2 非線性方程組 309
7.8 線性代數 309
7.8.1 計算矩陣的行列式 310
7.8.2 求解逆矩陣 310
7.8.3 計算特徵向量和特徵值 311
7.8.4 矩陣的奇異值分解 311
7.8.5 求解線性方程組 312
7.9 聚類 313
7.9.1 K均值聚類 313
7.9.2 層次聚類 315
7.10 空間計算 316
7.10.1 空間旋轉的表述 317
7.10.2 三維旋轉 318

第8章 機器學習工具包Scikit-learn 321
8.1 Scikit-learn概覽 321
8.1.1 Scikit-learn的子模塊 321
8.1.2 安裝和導入 323
8.2 數據集 323
8.2.1 Scikit-learn自帶的數據集 323
8.2.2 樣本生成器 326
8.2.3 加載其他數據集 327
8.3 數據預處理 328
8.3.1 標準化 328
8.3.2 歸一化 330
8.3.3 正則化 330
8.3.4 離散化 331
8.3.5 特徵編碼 332
8.3.6 缺失值補全 333
8.4 分類 334
8.4.1 k-近鄰分類 334
8.4.2 貝葉斯分類 335
8.4.3 決策樹分類 338
8.4.4 隨機森林分類 340
8.4.5 支持向量機分類 342
8.5 回歸 343
8.5.1 線性回歸 343
8.5.2 支持向量機回歸 346
8.5.3 k-近鄰回歸 350
8.5.4 決策樹回歸 352
8.5.5 隨機森林回歸 354
8.6 聚類 356
8.6.1 k均值聚類 356
8.6.2 均值漂移聚類 357
8.6.3 基於密度的空間聚類 359
8.6.4 譜聚類 361
8.6.5 層次聚類 363
8.7 成分分解與降維 365
8.7.1 主成分分析 366
8.7.2 因子分析 368
8.7.3 截斷奇異值分解 369
8.7.4 獨立成分分析(ICA) 370
8.8 模型評估與優化 372
8.8.1 估計器得分 373
8.8.2 交叉驗證 374
8.8.3 評價指標 376
8.8.4 參數優化 378
8.8.5 模型持久化 380
附錄A:Python內置函數(類)手冊 382
附錄B:從新手到高手的100個模塊 405