●章入門1
1.1安裝EnthoughtCanopy1
1.2使用並理解IPython/JupyterNotebook6
1.3Python基礎——部分9
1.4理解Python代碼11
1.5導入模塊13
1.5.1數據結構13
1.5.2使用列表14
1.組17
1.5.4字典18
1.6Python基礎——第二部分20
1.6.1Python中的函數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使用CanopyIDE26
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.1Matplotlib快速學習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.1Python中的條件概率練習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回歸和汽車價格預測99
4.3.1使用Python回歸100
4.3回歸練習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.5k均值聚類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.1k最近鄰的概念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.1Q-learning185
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.7Web日志數據練習206
8.5數值型數據的標準化207
8.6檢測異常值208
8.6.1處理異常值209
8.6.2異常值練習211
8.7小結211
第9章ApacheSpark——大數據上的機器學習212
9.1安裝Spark212
9.1.1在Windows繫統中安裝Spark213
9.1.2在其他操作繫統上安裝Spark214
9.1.3安裝JavaDevelopmentKit214
9.1.4安裝Spark217
9.2Spark簡介227
9.2.1可伸縮227
9.2.2速度快228
9.2.3充滿活力229
9.2.4易於使用229
9.2.5Spark組件229
9.2.6在Spark中使用Python還是Scala230
9.3Spark和彈性分布式數據集231
9.3.1SparkContext對像231
9.3.2創建RDD232
9.3.3更多創建RDD的方法233
9.3.4RDD操作233
9.4MLlib簡介235
9.4.1MLlib功能235
9.4.2MLlib特殊數據類型236
9.5在Spark中使用MLlib實現決策樹236
9.6在Spark中實現k均值聚類245
9.7TF-IDF250
9.7.1TF-IDF實戰250
9.7.2使用TF-IDF251
9.8使用SparkMLlib搜索維基百科251
9.8.1導入語句252
9.8.2創建初始RDD252
9.8.3創建並轉換HashingTF對像253
9.8.4計算TF-IDF得分254
9.8.5使用維基百科搜索引擎算法254
9.8.6運行算法255
9.9使用Spark2.0中的MLlib數據框API255
9.10小結259
0章測試與實驗設計260
10.1A/B測試的概念260
10.1.1A/B測試260
10.1.2A/B測試的轉化效果測量262
10.1.3小心方差263
10.2t檢驗與p值263
10.2.1t統計量或t檢驗264
10.2.2p值264
10.3使用Python計算t統計量和p值265
10.3.1使用實驗數據進行A/B測試265
10.3.2樣本量有關繫嗎267
10.4確定實驗持續時間268
10.5A/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