Python極簡講義:一本書入門數據分析與機器學習

Python極簡講義:一本書入門數據分析與機器學習

《Python極簡講義:一本書入門數據分析與機器學習》是2020年5月電子工業出版社出版的圖書,作者是張玉宏。

基本介紹

  • 中文名:Python極簡講義:一本書入門數據分析與機器學習
  • 作者:張玉宏
  • 類別:計算機
  • 出版社: 電子工業出版社
  • 出版時間:2020年
  • 頁數:588 頁
  • 定價:128 元
  • 開本:16 開 
  • ISBN:9787121387043
內容簡介,圖書目錄,作者簡介,

內容簡介

《Python極簡講義:櫻照翻一本書入門數據分析與機器學習》實戰出真知,每章均配備思考與提高環節,習題選自知名公司面試題目,針對性和實用性強,可在AI求職之路上助你一臂之力。
《Python極簡講義:一本書入門數據分析海海墊與機器學習》以圖文並茂的方式介紹了Python的基礎內容,並深入淺出地介紹了數據分析和機器學習領域的相關入門知識。

圖書目錄

第1章 初識Python與Jupyter 1
1.1 Python概要 2
1.1.1 為什麼要學習Python 2
1.1.2 Python中常用的庫 2
1.2 Python的版本之爭 4
1.3 安裝Anaconda5
1.3.1 Linux環境您歡漿下的Anaconda安裝 5
1.3.2 conda命令的使用6
1.3.3 Windows環境下的Anaconda安裝 7
1.4 運行Python 11
1.4.1 驗證Python 11
1.4.2 Python版本的Hello World 12
1.4.3 Python的腳本檔案 13
1.4.4 代碼縮進 15
1.4.5 代碼注釋 17
1.5 Python中的內置函式 17
1.6 文學化編程—Jupyter 20
1.6.1 Jupyter的由來 20
1.6.2 Jupyter的安裝 21
1.6.3 Jupyter的使用 23
1.6.4 Markdown編輯器26
1.7 Jupyter中的魔法函式 31
1.7.1 境協紋捉%lsmagic函式 31
1.7.2 %matplotlibinline函式 32
1.7.3 %timeit函白承數32
1.7.4 %%writefile函式 33
1.7.5 其他艱盛灑常用的魔法函式 34
1.7.6 在Jupyter中執行shell命令 35
1.8 本章小結 35
1.9 思考與提高 36
第2章 數據類型與程式控制結構 40
2.1 為什麼需要不同的數據類型 41
2.2 Python中的基本數據類型 42
2.2.1 數值型(Number) 42
2.2.2 布爾類型(Boolean) 45
2.2.3 字元串型(String) 45
2.2.4 列表(List)49
2.2.5 元組(Tuple) 59
2.2.6 字典(Dictionary) 62
2.2.7 集合(Set) 65
2.3 程式控制結構 67
2.3.1 回顧那段難忘的歷史 67
2.3.2 順序結構 69
2.3.3 選擇結構 70
2.3.4 循環結構 74
2.4 高效的推導式 80
2.4.1 列表推導式 80
2.4.2 字典推導式 83
2.4.3 集合推導式 83
2.5 本章小催她組罪結 84
2.6 思考與提高 84
第3章 自建Python模組與第三方模組 90
3.1 導入Python標準庫91
3.2 編寫自己的模組 93
3.3 模組的搜尋路徑 97
3.4 創建模組包 100
3.5 常用的內建模組 103
3.5.1 collection模組 103
3.5.2 datetime模組110
3.5.3 json模組 115
3.5.4 random模組 118
3.6 本章小結 121
3.7 思考與提高 122
第4章 Python函式 124
4.1 Python中的函式 125
4.1.1 函式的定義 125
4.1.2 函式返回多個值 127
4.1.3 函式文檔的構建 128
4.2 函式參數的“花式”傳遞 132
4.2.1 關鍵字參數 132
4.2.2 可變參數 133
4.2.3 默認參數 136
4.2.4 參數序列的打包與解包 138
4.2.5 傳值還是傳引用 142
4.3 函式的遞歸 146
4.3.1 感性認識遞歸 146
4.3.2 思維與遞歸思維 148
4.3.3 遞歸調用的函式 149
4.4 函式式編程的高階函式 151
4.5 本章小結 159
4.6 思考與提高 160
第5章 Python高級特性 165
5.1 面向對象程式設計 166
5.1.1 面向過程與面向對象之辯 166
5.1.2 類的定義與使用 169
5.1.3 類的繼承 173
5.2 生成器與疊代器 176
5.2.1 生成器 176
5.2.2 疊代器 183
5.3 檔案操作 187
5.3.1 打開檔案 187
5.3.2 讀取一行與讀取全部行 191
5.3.3 寫入檔案 193
5.4 異常處理 193
5.4.1 感性認識程式中的異常 194
5.4.2 異常處理的三步走 195
5.5 錯誤調試 197
5.6 本章小結 201
5.7 思考與提高 202
第6章 NumPy向量計算 204
6.1 為何需要NumPy 205
6.2 如何導入NumPy 205
6.3 生成NumPy數組 206
6.3.1 利用序列生成 206
6.3.2 利用特定函式生成 207
6.3.3 Numpy數組的其他常用函式 209
6.4 N維數組的屬性 212
6.5 NumPy數組中的運算 215
6.5.1 向量運算 216
6.5.2 算術運算 216
6.5.3 逐元素運算與張量點乘運算 218
6.6 愛因斯坦求和約定 222
6.7 NumPy中的“軸”方向231
6.8 運算元組元素 234
6.8.1 通過索引訪問數組元素 234
6.8.2 NumPy中的切片訪問 236
6.8.3 二維數組的轉置與展平 238
6.9 NumPy中的廣播 239
6.10 NumPy數組的高級索引 242
6.10.1 “花式”索引 242
6.10.2 布爾索引 247
6.11 數組的堆疊操作 249
6.12 NumPy中的隨機數模組 264
6.13 本章小結 266
6.14 思考與提高 267
第7章 Pandas數據分析 271
7.1 Pandas簡介 272
7.2 Pandas的安裝 272
7.3 Series類型數據 273
7.3.1 Series的創建273
7.3.2 Series中的數據訪問 277
7.3.3 Series中的向量化操作與布爾索引 280
7.3.4 Series中的切片操作 283
7.3.5 Series中的缺失值284
7.3.6 Series中的刪除與添加操作286
7.3.7 Series中的name屬性 288
7.4 DataFrame 類型數據 289
7.4.1 構建DataFrame 289
7.4.2 訪問DataFrame中的列與行 293
7.4.3 DataFrame中的刪除操作 298
7.4.4 DataFrame中的“軸”方向301
7.4.5 DataFrame中的添加操作 303
7.5 基於Pandas的檔案讀取與分析 310
7.5.1 利用Pandas讀取檔案 311
7.5.2 DataFrame中的常用屬性 312
7.5.3 DataFrame中的常用方法 314
7.5.4 DataFrame的條件過濾318
7.5.5 DataFrame的切片操作320
7.5.6 DataFrame的排序操作323
7.5.7 Pandas的聚合和分組運算 325
7.5.8 DataFrame的透視表 334
7.5.9 DataFrame的類SQL操作 339
7.5.10 DataFrame中的數據清洗方法 341
7.6 泰坦尼克倖存者數據預處理 342
7.6.1 數據集簡介 342
7.6.2 數據集的拼接 344
7.6.3 缺失值的處理 350
7.7 本章小結 353
7.8 思考與提高 353
第8章 Matplotlib與Seaborn可視化分析 365
8.1 Matplotlib與圖形繪製 366
8.2 繪製簡單圖形 366
8.3 pyplot的高級功能 371
8.3.1 添加圖例與注釋 371
8.3.2 設定圖形標題及坐標軸 374
8.3.3 添加格線線 378
8.3.4 繪製多個子圖 380
8.3.5 Axes與Subplot的區別 382
8.4 散點圖 388
8.5 條形圖與直方圖 392
8.5.1 垂直條形圖 392
8.5.2 水平條形圖 394
8.5.3 並列條形圖 395
8.5.4 疊加條形圖 400
8.5.5 直方圖 402
8.6 餅圖 407
8.7 箱形圖 409
8.8 誤差條 411
8.9 繪製三維圖形 413
8.10 與Pandas協作繪圖—以谷歌流感趨勢數據為例 416
8.10.1 谷歌流感趨勢數據描述 416
8.10.2 導入數據與數據預處理 417
8.10.3 繪製時序曲線圖421
8.10.4 選擇合適的數據可視化表達 423
8.10.5 基於條件判斷的圖形繪製427
8.10.6 繪製多個子圖 430
8.11 驚艷的Seaborn 431
8.11.1 pairplot(對圖)432
8.11.2 heatmap(熱力圖) 434
8.11.3 boxplot(箱形圖) 436
8.11.4 violin plot(小提琴圖) 442
8.11.5 Density Plot(密度圖) 446
8.12 本章小結 450
8.13 思考與提高 450
第9章 機器學習初步 459
9.1 機器學習定義 460
9.1.1 什麼是機器學習 460
9.1.2 機器學習的三個步驟 461
9.1.3 傳統編程與機器學習的差別 464
9.1.4 為什麼機器學習不容易 465
9.2 監督學習 467
9.2.1 感性認識監督學習 467
9.2.2 監督學習的形式化描述 468
9.2.3 損失函式 470
9.3 非監督學習 471
9.4 半監督學習 473
9.5 機器學習的哲學視角 474
9.6 模型性能評估 476
9.6.1 經驗誤差與測試誤差 476
9.6.2 過擬合與欠擬合 477
9.6.3 模型選擇與數據擬合 479
9.7 性能度量 480
9.7.1 二分類的混淆矩陣 480
9.7.2 查全率、查準率與F1分數481
9.7.3 P-R曲線 484
9.7.4 ROC曲線 485
9.7.5 AUC 489
9.8 本章小結 489
9.9 思考與提高 490
第10章 sklearn與經典機器學習算法492
10.1 機器學習的利器—sklearn 493
10.1.1 sklearn簡介494
10.1.2 sklearn的安裝 496
10.2 線性回歸 497
10.2.1 線性回歸的概念497
10.2.2 使用sklearn實現波士頓房價預測 499
10.3 k-近鄰算法 516
10.3.1 算法簡介 516
10.3.2 k值的選取 518
10.3.3 特徵數據的歸一化 519
10.3.4 鄰居距離的度量521
10.3.5 分類原則的制定522
10.3.6 基於sklearn的k-近鄰算法實戰 522
10.4 Logistic回歸 527
10.4.1 為什麼需要Logistic回歸 527
10.4.2 Logistic源頭初探 529
10.4.3 Logistic回歸實戰 532
10.5 神經網路學習算法 536
10.5.1 人工神經網路的定義537
10.5.2 神經網路中的“學習”本質 537
10.5.3 神經網路結構的設計540
10.5.4 利用sklearn搭建多層神經網路 541
10.6 非監督學習的代表—k均值聚類550
10.6.1 聚類的基本概念551
10.6.2 簇的劃分 552
10.6.3 k均值聚類算法核心 552
10.6.4 k均值聚類算法優缺點 554
10.6.5 基於sklearn的k均值聚類算法實戰 555
10.7 本章小結 561
10.8 思考與提高 562

作者簡介

張玉宏,大數據分析師(高級),2012年於電子科技大學獲得博士學位,2009—2011年美國西北大學訪問學者,2019—2020年美國IUPUI高級訪問學者,YOCSEF鄭州2019—2020年度副主席。現執教於河南工業大學,主要研究方向為大數據、機器學習。發表學術論文30餘篇,先後撰寫《深度學習之美:AI時代的數據處理與最佳實踐》《品味大數據》等科技圖書7本,參與編寫英文學術專著2部。
2.2.1 數值型(Number) 42
2.2.2 布爾類型(Boolean) 45
2.2.3 字元串型(String) 45
2.2.4 列表(List)49
2.2.5 元組(Tuple) 59
2.2.6 字典(Dictionary) 62
2.2.7 集合(Set) 65
2.3 程式控制結構 67
2.3.1 回顧那段難忘的歷史 67
2.3.2 順序結構 69
2.3.3 選擇結構 70
2.3.4 循環結構 74
2.4 高效的推導式 80
2.4.1 列表推導式 80
2.4.2 字典推導式 83
2.4.3 集合推導式 83
2.5 本章小結 84
2.6 思考與提高 84
第3章 自建Python模組與第三方模組 90
3.1 導入Python標準庫91
3.2 編寫自己的模組 93
3.3 模組的搜尋路徑 97
3.4 創建模組包 100
3.5 常用的內建模組 103
3.5.1 collection模組 103
3.5.2 datetime模組110
3.5.3 json模組 115
3.5.4 random模組 118
3.6 本章小結 121
3.7 思考與提高 122
第4章 Python函式 124
4.1 Python中的函式 125
4.1.1 函式的定義 125
4.1.2 函式返回多個值 127
4.1.3 函式文檔的構建 128
4.2 函式參數的“花式”傳遞 132
4.2.1 關鍵字參數 132
4.2.2 可變參數 133
4.2.3 默認參數 136
4.2.4 參數序列的打包與解包 138
4.2.5 傳值還是傳引用 142
4.3 函式的遞歸 146
4.3.1 感性認識遞歸 146
4.3.2 思維與遞歸思維 148
4.3.3 遞歸調用的函式 149
4.4 函式式編程的高階函式 151
4.5 本章小結 159
4.6 思考與提高 160
第5章 Python高級特性 165
5.1 面向對象程式設計 166
5.1.1 面向過程與面向對象之辯 166
5.1.2 類的定義與使用 169
5.1.3 類的繼承 173
5.2 生成器與疊代器 176
5.2.1 生成器 176
5.2.2 疊代器 183
5.3 檔案操作 187
5.3.1 打開檔案 187
5.3.2 讀取一行與讀取全部行 191
5.3.3 寫入檔案 193
5.4 異常處理 193
5.4.1 感性認識程式中的異常 194
5.4.2 異常處理的三步走 195
5.5 錯誤調試 197
5.6 本章小結 201
5.7 思考與提高 202
第6章 NumPy向量計算 204
6.1 為何需要NumPy 205
6.2 如何導入NumPy 205
6.3 生成NumPy數組 206
6.3.1 利用序列生成 206
6.3.2 利用特定函式生成 207
6.3.3 Numpy數組的其他常用函式 209
6.4 N維數組的屬性 212
6.5 NumPy數組中的運算 215
6.5.1 向量運算 216
6.5.2 算術運算 216
6.5.3 逐元素運算與張量點乘運算 218
6.6 愛因斯坦求和約定 222
6.7 NumPy中的“軸”方向231
6.8 運算元組元素 234
6.8.1 通過索引訪問數組元素 234
6.8.2 NumPy中的切片訪問 236
6.8.3 二維數組的轉置與展平 238
6.9 NumPy中的廣播 239
6.10 NumPy數組的高級索引 242
6.10.1 “花式”索引 242
6.10.2 布爾索引 247
6.11 數組的堆疊操作 249
6.12 NumPy中的隨機數模組 264
6.13 本章小結 266
6.14 思考與提高 267
第7章 Pandas數據分析 271
7.1 Pandas簡介 272
7.2 Pandas的安裝 272
7.3 Series類型數據 273
7.3.1 Series的創建273
7.3.2 Series中的數據訪問 277
7.3.3 Series中的向量化操作與布爾索引 280
7.3.4 Series中的切片操作 283
7.3.5 Series中的缺失值284
7.3.6 Series中的刪除與添加操作286
7.3.7 Series中的name屬性 288
7.4 DataFrame 類型數據 289
7.4.1 構建DataFrame 289
7.4.2 訪問DataFrame中的列與行 293
7.4.3 DataFrame中的刪除操作 298
7.4.4 DataFrame中的“軸”方向301
7.4.5 DataFrame中的添加操作 303
7.5 基於Pandas的檔案讀取與分析 310
7.5.1 利用Pandas讀取檔案 311
7.5.2 DataFrame中的常用屬性 312
7.5.3 DataFrame中的常用方法 314
7.5.4 DataFrame的條件過濾318
7.5.5 DataFrame的切片操作320
7.5.6 DataFrame的排序操作323
7.5.7 Pandas的聚合和分組運算 325
7.5.8 DataFrame的透視表 334
7.5.9 DataFrame的類SQL操作 339
7.5.10 DataFrame中的數據清洗方法 341
7.6 泰坦尼克倖存者數據預處理 342
7.6.1 數據集簡介 342
7.6.2 數據集的拼接 344
7.6.3 缺失值的處理 350
7.7 本章小結 353
7.8 思考與提高 353
第8章 Matplotlib與Seaborn可視化分析 365
8.1 Matplotlib與圖形繪製 366
8.2 繪製簡單圖形 366
8.3 pyplot的高級功能 371
8.3.1 添加圖例與注釋 371
8.3.2 設定圖形標題及坐標軸 374
8.3.3 添加格線線 378
8.3.4 繪製多個子圖 380
8.3.5 Axes與Subplot的區別 382
8.4 散點圖 388
8.5 條形圖與直方圖 392
8.5.1 垂直條形圖 392
8.5.2 水平條形圖 394
8.5.3 並列條形圖 395
8.5.4 疊加條形圖 400
8.5.5 直方圖 402
8.6 餅圖 407
8.7 箱形圖 409
8.8 誤差條 411
8.9 繪製三維圖形 413
8.10 與Pandas協作繪圖—以谷歌流感趨勢數據為例 416
8.10.1 谷歌流感趨勢數據描述 416
8.10.2 導入數據與數據預處理 417
8.10.3 繪製時序曲線圖421
8.10.4 選擇合適的數據可視化表達 423
8.10.5 基於條件判斷的圖形繪製427
8.10.6 繪製多個子圖 430
8.11 驚艷的Seaborn 431
8.11.1 pairplot(對圖)432
8.11.2 heatmap(熱力圖) 434
8.11.3 boxplot(箱形圖) 436
8.11.4 violin plot(小提琴圖) 442
8.11.5 Density Plot(密度圖) 446
8.12 本章小結 450
8.13 思考與提高 450
第9章 機器學習初步 459
9.1 機器學習定義 460
9.1.1 什麼是機器學習 460
9.1.2 機器學習的三個步驟 461
9.1.3 傳統編程與機器學習的差別 464
9.1.4 為什麼機器學習不容易 465
9.2 監督學習 467
9.2.1 感性認識監督學習 467
9.2.2 監督學習的形式化描述 468
9.2.3 損失函式 470
9.3 非監督學習 471
9.4 半監督學習 473
9.5 機器學習的哲學視角 474
9.6 模型性能評估 476
9.6.1 經驗誤差與測試誤差 476
9.6.2 過擬合與欠擬合 477
9.6.3 模型選擇與數據擬合 479
9.7 性能度量 480
9.7.1 二分類的混淆矩陣 480
9.7.2 查全率、查準率與F1分數481
9.7.3 P-R曲線 484
9.7.4 ROC曲線 485
9.7.5 AUC 489
9.8 本章小結 489
9.9 思考與提高 490
第10章 sklearn與經典機器學習算法492
10.1 機器學習的利器—sklearn 493
10.1.1 sklearn簡介494
10.1.2 sklearn的安裝 496
10.2 線性回歸 497
10.2.1 線性回歸的概念497
10.2.2 使用sklearn實現波士頓房價預測 499
10.3 k-近鄰算法 516
10.3.1 算法簡介 516
10.3.2 k值的選取 518
10.3.3 特徵數據的歸一化 519
10.3.4 鄰居距離的度量521
10.3.5 分類原則的制定522
10.3.6 基於sklearn的k-近鄰算法實戰 522
10.4 Logistic回歸 527
10.4.1 為什麼需要Logistic回歸 527
10.4.2 Logistic源頭初探 529
10.4.3 Logistic回歸實戰 532
10.5 神經網路學習算法 536
10.5.1 人工神經網路的定義537
10.5.2 神經網路中的“學習”本質 537
10.5.3 神經網路結構的設計540
10.5.4 利用sklearn搭建多層神經網路 541
10.6 非監督學習的代表—k均值聚類550
10.6.1 聚類的基本概念551
10.6.2 簇的劃分 552
10.6.3 k均值聚類算法核心 552
10.6.4 k均值聚類算法優缺點 554
10.6.5 基於sklearn的k均值聚類算法實戰 555
10.7 本章小結 561
10.8 思考與提高 562

作者簡介

張玉宏,大數據分析師(高級),2012年於電子科技大學獲得博士學位,2009—2011年美國西北大學訪問學者,2019—2020年美國IUPUI高級訪問學者,YOCSEF鄭州2019—2020年度副主席。現執教於河南工業大學,主要研究方向為大數據、機器學習。發表學術論文30餘篇,先後撰寫《深度學習之美:AI時代的數據處理與最佳實踐》《品味大數據》等科技圖書7本,參與編寫英文學術專著2部。

相關詞條

熱門詞條

聯絡我們