Python機器學習
內容描述
《Python機器學習》面向機器學習新手,主要內容如下:
● Python機器學習的一些基本庫,包括NumPy、Pandas和matplotlib庫
● 常見的機器學習算法,包括回歸、聚類、分類和異常檢測
● 使用Python和Scikit-learn庫進行機器學習
● 將機器學習模型部署為Web服務
● 使用Microsoft Azure Machine Learning Studio進行機器學習
● 演習機器學習模型構建方案的實例
目錄大綱
第1章 機器學習簡介 1
1.1 什麽是機器學習? 2
1.1.1 在本書中機器學習將解決什麽問題? 3
1.1.2 機器學習算法的類型 4
1.2 可得到的工具 7
1.2.1 獲取Anaconda 8
1.2.2 安裝Anaconda 8
1.3 本章小結 17
第2章 使用NumPy擴展Python 19
2.1 NumPy是什麽? 19
2.2 創建NumPy數組 20
2.3 數組索引 22
2.3.1 布爾索引 22
2.3.2 切片數組 23
2.3.3 NumPy切片是一個引用 25
2.4 重塑數組 26
2.5 數組數學 27
2.5.1 點積 29
2.5.2 矩陣 30
2.5.3 累積和 31
2.5.4 NumPy排序 32
2.6 數組賦值 34
2.6.1 通過引用復制 34
2.6.2 按視圖復制(淺復制) 35
2.6.3 按值復制(深度復制) 37
2.7 本章小結 37
第3章 使用Pandas處理表格數據 39
3.1 Pandas是什麽? 39
3.2 Pandas Series 40
3.2.1 使用指定索引創建Series 41
3.2.2 訪問Series中的元素 41
3.2.3 指定Datetime範圍作為Series的索引 42
3.2.4 日期範圍 43
3.3 Pandas DataFrame 44
3.3.1 創建DataFrame 45
3.3.2 在DataFrame中指定索引 46
3.3.3 生成DataFrame的描述性統計信息 47
3.3.4 從DataFrame中提取 48
3.3.5 選擇DataFrame中的單個單元格 54
3.3.6 基於單元格值進行選擇 54
3.3.7 轉置DataFrame 54
3.3.8 檢查結果是DataFrame還是Series 55
3.3.9 在DataFrame中排序數據 55
3.3.10 將函數應用於DataFrame 57
3.3.11 在DataFrame中添加和刪除行和列 60
3.3.12 生成交叉表 63
3.4 本章小結 64
第4章 使用matplotlib顯示數據 67
4.1 什麽是matplotlib? 67
4.2 繪制折線圖 67
4.2.1 添加標題和標簽 69
4.2.2 樣式 69
4.2.3 在同一圖表中繪制多條線 71
4.2.4 添加圖例 72
4.3 繪制柱狀圖 73
4.3.1 在圖表中添加另一個柱狀圖 74
4.3.2 更改刻度標簽 76
4.4 繪制餅圖 77
4.4.1 分解各部分 79
4.4.2 顯示自定義顏色 79
4.4.3 旋轉餅狀圖 80
4.4.4 顯示圖例 81
4.4.5 保存圖表 83
4.5 繪制散點圖 83
4.5.1 合並圖形 84
4.5.2 子圖 85
4.6 使用Seaborn繪圖 86
4.6.1 顯示分類圖 87
4.6.2 顯示lmplot 89
4.6.3 顯示swarmplot 90
4.7 本章小結 92
第5章 使用Scikit-learn開始機器學習 93
5.1 Scikit-learn簡介 93
5.2 獲取數據集 93
5.2.1 使用Scikit-learn數據集 94
5.2.2 使用Kaggle數據集 97
5.2.3 使用UCI機器學習存儲庫 97
5.2.4 生成自己的數據集 97
5.3 Scikit-learn入門 100
5.3.1 使用LinearRegression類對模型進行擬合 101
5.3.2 進行預測 101
5.3.3 繪制線性回歸線 102
5.3.4 得到線性回歸線的斜率和截距 103
5.3.5 通過計算殘差平方和檢驗模型的性能 104
5.3.6 使用測試數據集評估模型 105
5.3.7 持久化模型 106
5.4 數據清理 108
5.4.1 使用NaN清理行 108
5.4.2 刪除重復的行 110
5.4.3 規範化列 112
5.4.4 去除異常值 113
5.5 本章小結 117
第6章 有監督的學習——線性回歸 119
6.1 線性回歸的類型 119
6.2 線性回歸 120
6.2.1 使用Boston數據集 120
6.2.2 數據清理 125
6.2.3 特徵選擇 126
6.2.4 多元回歸 129
6.2.5 訓練模型 131
6.2.6 獲得截距和系數 133
6.2.7 繪制三維超平面 134
6.3 多項式回歸 136
6.3.1 多項式回歸公式 138
6.3.2 Scikit-learn中的多項式回歸 138
6.3.3 理解偏差和方差 142
6.3.4 對Boston數據集使用多項式多元回歸 145
6.3.5 繪制三維超平面 146
6.4 本章小結 149
第7章 有監督的學習——使用邏輯回歸進行分類 151
7.1 什麽是邏輯回歸? 151
7.1.1 理解概率 153
7.1.2 logit函數 153
7.1.3 sigmoid曲線 155
7.2 使用威斯康星乳腺癌診斷數據集 156
7.2.1 檢查特徵之間的關系 157
7.2.2 使用一個特徵訓練 161
7.2.3 使用所有特性訓練模型 164
7.3 本章小結 174
第8章 有監督的學習——使用支持向量機分類 175
8.1 什麽是支持向量機? 175
8.1.1 最大的可分性 176
8.1.2 支持向量 177
8.1.3 超平面的公式 178
8.1.4 為SVM使用Scikit-learn 179
8.1.5 繪制超平面和邊距 182
8.1.6 進行預測 183
8.2 內核的技巧 184
8.2.1 添加第三個維度 185
8.2.2 繪制三維超平面 187
8.3 內核的類型 189
8.3.1 C 193
8.3.2 徑向基函數(RBF)內核 195
8.3.3 gamma 196
8.3.4 多項式內核 198
8.4 使用SVM解決實際問題 199
8.5 本章小結 202
第9章 有監督的學習——使用k-近鄰(kNN)分類 203
9.1 k-近鄰是什麽? 203
9.1.1 用Python實現kNN 204
9.1.2 為kNN使用Scikit-learn的KNeighborsClassifier類 209
9.2 本章小結 218
第10章 無監督學習——使用k-means聚類 219
10.1 什麽是無監督學習? 219
10.1.1 使用k-means的無監督學習 220
10.1.2 k-means中的聚類是如何工作的 220
10.1.3 在Python中實現k-means 223
10.1.4 在Scikit-learn中使用k-means 228
10.1.5 利用Silhouette系數評價聚類的大小 230
10.2 使用k-means解決現實問題 234
10.2.1 導入數據 234
10.2.2 清理數據 235
10.2.3 繪制散點圖 236
10.2.4 使用k-means聚類 236
10.2.5 尋找最優尺寸類 238
10.3 本章小結 239
第11章 使用 Azure Machine Learning Studio 241
11.1 什麽是Microsoft Azure Machine Learning Studio? 241
11.1.1 以泰坦尼克號實驗為例 241
11.1.2 使用Microsoft Azure Machine Learning Studio 243
11.1.3 訓練模型 254
11.1.4 將學習模型作為Web服務發布 258
11.2 本章小結 263
第12章 部署機器學習模型 265
12.1 部署ML 265
12.2 案例研究 266
12.2.1 加載數據 267
12.2.2 清理數據 267
12.2.3 檢查特徵之間的相關性 269
12.2.4 繪制特徵之間的相關性 270
12.2.5 評估算法 273
12.2.6 訓練並保存模型 275
12.3 部署模型 277
12.4 創建客戶機應用程序來使用模型 279
12.5 本章小結 281