Python數(shù)據(jù)科學與機器學習 從入門到實踐
定 價:69 元
叢書名:Python
- 作者:[美]弗蘭克·凱恩(Frank Kane)
- 出版時間:2019/6/1
- ISBN:9787115512413
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:273
- 紙張:
- 版次:01
- 開本:16開
本書介紹了使用Python進行數(shù)據(jù)分析和高效的機器學習,首先從一節(jié)Python速成課開始,然后回顧統(tǒng)計學和概率論的基礎知識,接著深入討論與數(shù)據(jù)挖掘和機器學習相關(guān)的60多個主題,包括貝葉斯定理、聚類、決策樹、回歸分析、實驗設計等。
數(shù)據(jù)科學家實踐指南,依據(jù)高科技公司中數(shù)據(jù)科學家的職位描述和要求,創(chuàng)作本書。
提供三大實戰(zhàn)案例:
1.使用真實的電影評分數(shù)據(jù)創(chuàng)建一個電影推薦系統(tǒng);
2.創(chuàng)建一個能實際運行的維基百科數(shù)據(jù)搜索引擎;
3.創(chuàng)建一個垃圾郵件分類器,可以對郵件賬戶中的垃圾郵件和正常郵件進行正確的分類。
本書涵蓋準備分析數(shù)據(jù)、訓練機器學習模型和可視化分析結(jié)果等主題,有助你提高使用Python高效地進行數(shù)據(jù)分析和機器學習的能力,并建立信心以更好地分析自己的機器學習模型。
●清理和準備數(shù)據(jù),使其可用于分析
●應用Python中流行的聚類和回歸方法
●使用決策樹和隨機森林訓練高效的機器學習模型
●使用Python Matplotlib庫對分析結(jié)果進行可視化
●使用Apache Spark的MLlib包在大型數(shù)據(jù)庫上進行機器學習
Frank Kane,Sundog Software公司創(chuàng)始人,曾在Amazon和IMDb工作近9年,在分布式計算、數(shù)據(jù)挖掘和機器學習等領(lǐng)域持有17項專利。
【譯者簡介】
陳光欣,畢業(yè)于清華大學并留校工作,主要興趣為數(shù)據(jù)分析與數(shù)據(jù)挖掘。
第 1 章 入門 1
1.1 安裝Enthought Canopy 1
1.2 使用并理解IPython/Jupyter Notebook 6
1.3 Python基礎——第 一部分 9
1.4 理解Python代碼 11
1.5 導入模塊 13
1.5.1 數(shù)據(jù)結(jié)構(gòu) 13
1.5.2 使用列表 14
1.5.3 元組 17
1.5.4 字典 18
1.6 Python基礎——第二部分 20
1.6.1 Python中的函數(shù) 20
1.6.2 循環(huán) 23
1.6.3 探索活動 24
1.7 運行Python腳本 24
1.7.1 運行Python代碼的其他方式 25
1.7.2 在命令行中運行Python腳本 25
1.7.3 使用Canopy IDE 26
1.8 小結(jié) 28
第 2 章 統(tǒng)計與概率復習以及Python實現(xiàn) 29
2.1 數(shù)據(jù)類型 29
2.1.1 數(shù)值型數(shù)據(jù) 30
2.1.2 分類數(shù)據(jù) 30
2.1.3 定序數(shù)據(jù) 31
2.2 均值、中位數(shù)和眾數(shù) 32
2.2.1 均值 32
2.2.2 中位數(shù) 33
2.2.3 眾數(shù) 34
2.3 在Python中使用均值、中位數(shù)和眾數(shù) 35
2.3.1 使用NumPy包計算均值 35
2.3.2 使用NumPy包計算中位數(shù) 36
2.3.3 使用SciPy包計算眾數(shù) 37
2.4 標準差和方差 40
2.4.1 方差 40
2.4.2 標準差 42
2.4.3 總體方差與樣本方差 42
2.4.4 在直方圖上分析標準差和方差 44
2.4.5 使用Python計算標準差和方差 44
2.4.6 自己動手 45
2.5 概率密度函數(shù)和概率質(zhì)量函數(shù) 45
2.5.1 概率密度函數(shù) 45
2.5.2 概率質(zhì)量函數(shù) 46
2.6 各種類型的數(shù)據(jù)分布 47
2.6.1 均勻分布 47
2.6.2 正態(tài)分布或高斯分布 48
2.6.3 指數(shù)概率分布與指數(shù)定律 50
2.6.4 二項式概率質(zhì)量函數(shù) 50
2.6.5 泊松概率質(zhì)量函數(shù) 51
2.7 百分位數(shù)和矩 52
2.7.1 百分位數(shù) 53
2.7.2 矩 56
2.8 小結(jié) 60
第 3 章 Matplotlib與概率高級概念 61
3.1 Matplotlib快速學習 61
3.1.1 在一張圖形上進行多次繪圖 62
3.1.2 將圖形保存為文件 63
3.1.3 調(diào)整坐標軸 64
3.1.4 添加網(wǎng)格 65
3.1.5 修改線型和顏色 65
3.1.6 標記坐標軸并添加圖例 68
3.1.7 一個有趣的例子 69
3.1.8 生成餅圖 70
3.1.9 生成條形圖 71
3.1.10 生成散點圖 72
3.1.11 生成直方圖 72
3.1.12 生成箱線圖 73
3.1.13 自己動手 74
3.2 協(xié)方差與相關(guān)系數(shù) 74
3.2.1 概念定義 75
3.2.2 相關(guān)系數(shù) 76
3.2.3 在Python中計算協(xié)方差和相關(guān)系數(shù) 76
3.2.4 相關(guān)系數(shù)練習 80
3.3 條件概率 80
3.3.1 Python中的條件概率練習 81
3.3.2 條件概率作業(yè) 84
3.3.3 作業(yè)答案 85
3.4 貝葉斯定理 86
3.5 小結(jié) 88
第 4 章 預測模型 89
4.1 線性回歸 89
4.1.1 普通最小二乘法 90
4.1.2 梯度下降法 91
4.1.3 判定系數(shù)或r方 91
4.1.4 使用Python進行線性回歸并計算r方 92
4.1.5 線性回歸練習 94
4.2 多項式回歸 95
4.2.1 使用NumPy實現(xiàn)多項式回歸 96
4.2.2 計算r方誤差 98
4.2.3 多項式回歸練習 98
4.3 多元回歸和汽車價格預測 99
4.3.1 使用Python進行多元回歸 100
4.3.2 多元回歸練習 102
4.4 多水平模型 102
4.5 小結(jié) 104
第 5 章 使用Python進行機器學習 105
5.1 機器學習及訓練/測試法 105
5.1.1 非監(jiān)督式學習 106
5.1.2 監(jiān)督式學習 107
5.2 使用訓練/測試法防止多項式回歸中的過擬合 109
5.3 貝葉斯方法——概念 113
5.4 使用樸素貝葉斯實現(xiàn)垃圾郵件分類器 115
5.5 k均值聚類 118
5.6 基于收入與年齡進行人群聚類 121
5.7 熵的度量 123
5.8 決策樹——概念 124
5.8.1 決策樹實例 126
5.8.2 生成決策樹 127
5.8.3 隨機森林 127
5.9 決策樹——使用Python預測錄用決策 128
5.9.1 集成學習——使用隨機森林 132
5.9.2 練習 133
5.10 集成學習 133
5.11 支持向量機簡介 135
5.12 使用scikit-learn通過SVM進行人員聚集 137
5.13 小結(jié) 140
第 6 章 推薦系統(tǒng) 141
6.1 什么是推薦系統(tǒng) 141
6.2 基于項目的協(xié)同過濾 145
6.3 基于項目的協(xié)同過濾是如何工作的 146
6.4 找出電影相似度 149
6.5 改善電影相似度結(jié)果 155
6.6 向人們推薦電影 159
6.7 改善推薦結(jié)果 165
6.8 小結(jié) 167
第 7 章 更多數(shù)據(jù)挖掘和機器學習技術(shù) 168
7.1 k最近鄰的概念 168
7.2 使用KNN預測電影評分 170
7.3 數(shù)據(jù)降維與主成分分析 176
7.3.1 數(shù)據(jù)降維 176
7.3.2 主成分分析 177
7.4 對鳶尾花數(shù)據(jù)集的PCA示例 178
7.5 數(shù)據(jù)倉庫簡介 182
7.6 強化學習 184
7.6.1 Q-learning 185
7.6.2 探索問題 186
7.6.3 時髦名詞 186
7.7 小結(jié) 188
第 8 章 處理真實數(shù)據(jù) 189
8.1 偏差-方差權(quán)衡 189
8.2 使用k折交叉驗證避免過擬合 192
8.3 數(shù)據(jù)清理和標準化 196
8.4 清理Web日志數(shù)據(jù) 198
8.4.1 對Web日志應用正則表達式 198
8.4.2 修改1——篩選請求字段 200
8.4.3 修改2——篩選post請求 201
8.4.4 修改3——檢查用戶代理 203
8.4.5 篩選爬蟲與機器人 204
8.4.6 修改4——使用網(wǎng)站專用篩選器 205
8.4.7 Web日志數(shù)據(jù)練習 206
8.5 數(shù)值型數(shù)據(jù)的標準化 207
8.6 檢測異常值 208
8.6.1 處理異常值 209
8.6.2 異常值練習 211
8.7 小結(jié)211
第 9 章 Apache Spark——大數(shù)據(jù)上的機器學習 212
9.1 安裝Spark 212
9.1.1 在Windows系統(tǒng)中安裝Spark 213
9.1.2 在其他操作系統(tǒng)上安裝Spark 214
9.1.3 安裝Java Development Kit 214
9.1.4 安裝Spark 217
9.2 Spark簡介 227
9.2.1 可伸縮 227
9.2.2 速度快 228
9.2.3 充滿活力 229
9.2.4 易于使用 229
9.2.5 Spark組件 229
9.2.6 在Spark中使用Python還是Scala 230
9.3 Spark和彈性分布式數(shù)據(jù)集 231
9.3.1 SparkContext對象 231
9.3.2 創(chuàng)建RDD 232
9.3.3 更多創(chuàng)建RDD的方法 233
9.3.4 RDD操作 233
9.4 MLlib簡介 235
9.4.1 MLlib功能 235
9.4.2 MLlib特殊數(shù)據(jù)類型 236
9.5 在Spark中使用MLlib實現(xiàn)決策樹 236
9.6 在Spark中實現(xiàn)k均值聚類 245
9.7 TF-IDF 250
9.7.1 TF-IDF實戰(zhàn) 250
9.7.2 使用TF-IDF 251
9.8 使用Spark MLlib搜索維基百科 251
9.8.1 導入語句 252
9.8.2 創(chuàng)建初始RDD 252
9.8.3 創(chuàng)建并轉(zhuǎn)換HashingTF對象 253
9.8.4 計算TF-IDF得分 254
9.8.5 使用維基百科搜索引擎算法 254
9.8.6 運行算法 255
9.9 使用Spark 2.0中的MLlib數(shù)據(jù)框API 255
9.10 小結(jié) 259
第 10 章 測試與實驗設計 260
10.1 A/B測試的概念 260
10.1.1 A/B測試 260
10.1.2 A/B測試的轉(zhuǎn)化效果測量 262
10.1.3 小心方差 263
10.2 t檢驗與p值 263
10.2.1 t統(tǒng)計量或t檢驗 264
10.2.2 p值 264
10.3 使用Python計算t統(tǒng)計量和p值 265
10.3.1 使用實驗數(shù)據(jù)進行A/B測試 265
10.3.2 樣本量有關(guān)系嗎 267
10.4 確定實驗持續(xù)時間 268
10.5 A/B測試中的陷阱 269
10.5.1 新奇性效應 270
10.5.2 季節(jié)性效應 271
10.5.3 選擇性偏差 271
10.5.4 數(shù)據(jù)污染 272
10.5.5 歸因錯誤 272
10.6 小結(jié) 273