第 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 數據結構 13
1.5.2 使用列錶 14
1.5.3 元組 17
1.5.4 字典 18
1.6 Python基礎——第二部分 20
1.6.1 Python中的函數 20
1.6.2 循環 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 小結 28
第 2 章 統計與概率復習以及Python實現 29
2.1 數據類型 29
2.1.1 數值型數據 30
2.1.2 分類數據 30
2.1.3 定序數據 31
2.2 均值、中位數和眾數 32
2.2.1 均值 32
2.2.2 中位數 33
2.2.3 眾數 34
2.3 在Python中使用均值、中位數和眾數 35
2.3.1 使用NumPy包計算均值 35
2.3.2 使用NumPy包計算中位數 36
2.3.3 使用SciPy包計算眾數 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 概率密度函數和概率質量函數 45
2.5.1 概率密度函數 45
2.5.2 概率質量函數 46
2.6 各種類型的數據分布 47
2.6.1 均勻分布 47
2.6.2 正態分布或高斯分布 48
2.6.3 指數概率分布與指數定律 50
2.6.4 二項式概率質量函數 50
2.6.5 泊鬆概率質量函數 51
2.7 百分位數和矩 52
2.7.1 百分位數 53
2.7.2 矩 56
2.8 小結 60
第 3 章 Matplotlib與概率高級概念 61
3.1 Matplotlib快速學習 61
3.1.1 在一張圖形上進行多次繪圖 62
3.1.2 將圖形保存為文件 63
3.1.3 調整坐標軸 64
3.1.4 添加網格 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 協方差與相關係數 74
3.2.1 概念定義 75
3.2.2 相關係數 76
3.2.3 在Python中計算協方差和相關係數 76
3.2.4 相關係數練習 80
3.3 條件概率 80
3.3.1 Python中的條件概率練習 81
3.3.2 條件概率作業 84
3.3.3 作業答案 85
3.4 貝葉斯定理 86
3.5 小結 88
第 4 章 預測模型 89
4.1 綫性迴歸 89
4.1.1 普通最小二乘法 90
4.1.2 梯度下降法 91
4.1.3 判定係數或r方 91
4.1.4 使用Python進行綫性迴歸並計算r方 92
4.1.5 綫性迴歸練習 94
4.2 多項式迴歸 95
4.2.1 使用NumPy實現多項式迴歸 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 小結 104
第 5 章 使用Python進行機器學習 105
5.1 機器學習及訓練/測試法 105
5.1.1 非監督式學習 106
5.1.2 監督式學習 107
5.2 使用訓練/測試法防止多項式迴歸中的過擬閤 109
5.3 貝葉斯方法——概念 113
5.4 使用樸素貝葉斯實現垃圾郵件分類器 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 小結 140
第 6 章 推薦係統 141
6.1 什麼是推薦係統 141
6.2 基於項目的協同過濾 145
6.3 基於項目的協同過濾是如何工作的 146
6.4 找齣電影相似度 149
6.5 改善電影相似度結果 155
6.6 嚮人們推薦電影 159
6.7 改善推薦結果 165
6.8 小結 167
第 7 章 更多數據挖掘和機器學習技術 168
7.1 k最近鄰的概念 168
7.2 使用KNN預測電影評分 170
7.3 數據降維與主成分分析 176
7.3.1 數據降維 176
7.3.2 主成分分析 177
7.4 對鳶尾花數據集的PCA示例 178
7.5 數據倉庫簡介 182
7.6 強化學習 184
7.6.1 Q-learning 185
7.6.2 探索問題 186
7.6.3 時髦名詞 186
7.7 小結 188
第 8 章 處理真實數據 189
8.1 偏差-方差權衡 189
8.2 使用k摺交叉驗證避免過擬閤 192
8.3 數據清理和標準化 196
8.4 清理Web日誌數據 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——使用網站專用篩選器 205
8.4.7 Web日誌數據練習 206
8.5 數值型數據的標準化 207
8.6 檢測異常值 208
8.6.1 處理異常值 209
8.6.2 異常值練習 211
8.7 小結211
第 9 章 Apache Spark——大數據上的機器學習 212
9.1 安裝Spark 212
9.1.1 在Windows係統中安裝Spark 213
9.1.2 在其他操作係統上安裝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和彈性分布式數據集 231
9.3.1 SparkContext對象 231
9.3.2 創建RDD 232
9.3.3 更多創建RDD的方法 233
9.3.4 RDD操作 233
9.4 MLlib簡介 235
9.4.1 MLlib功能 235
9.4.2 MLlib特殊數據類型 236
9.5 在Spark中使用MLlib實現決策樹 236
9.6 在Spark中實現k均值聚類 245
9.7 TF-IDF 250
9.7.1 TF-IDF實戰 250
9.7.2 使用TF-IDF 251
9.8 使用Spark MLlib搜索維基百科 251
9.8.1 導入語句 252
9.8.2 創建初始RDD 252
9.8.3 創建並轉換HashingTF對象 253
9.8.4 計算TF-IDF得分 254
9.8.5 使用維基百科搜索引擎算法 254
9.8.6 運行算法 255
9.9 使用Spark 2.0中的MLlib數據框API 255
9.10 小結 259
第 10 章 測試與實驗設計 260
10.1 A/B測試的概念 260
10.1.1 A/B測試 260
10.1.2 A/B測試的轉化效果測量 262
10.1.3 小心方差 263
10.2 t檢驗與p值 263
10.2.1 t統計量或t檢驗 264
10.2.2 p值 264
10.3 使用Python計算t統計量和p值 265
10.3.1 使用實驗數據進行A/B測試 265
10.3.2 樣本量有關係嗎 267
10.4 確定實驗持續時間 268
10.5 A/B測試中的陷阱 269
10.5.1 新奇性效應 270
10.5.2 季節性效應 271
10.5.3 選擇性偏差 271
10.5.4 數據汙染 272
10.5.5 歸因錯誤 272
10.6 小結 273
· · · · · · (
收起)