《阿里雲天池大賽賽題解析——機器學習篇》由電子工業出版社於2020年9月出版,作者是天池平台。本書詳的賽題均來自阿里雲天池的真實業務場景,由具有豐富實戰經驗的大賽優秀選手精心完成。本書通過解析頂級選手的解題思路,總結了大賽可複製的套路,向專業開發者提供參考,幫助參賽選手進階。
基本介紹
- 中文名:阿里雲天池大賽賽題解析——機器學習篇
- 作者:天池平台
- 出版社:電子工業出版社
- 出版時間:2020年9月
- 頁數:376 頁
- 定價:109 元
- 開本:16 開
- ISBN:9787121393501
內容簡介,圖書目錄,作者簡介,
內容簡介
《阿里雲天池大賽賽題解析——機器學習篇》聚焦機器學習算法建模及相關技術,以工業蒸汽量預測、天貓用戶重複購買預測、O2O優惠券預測和阿里雲安全惡意程式檢測等四個天池經典賽題作為實戰案例,針對實際賽題按照賽題理解、數據探索、特徵工程、模型訓練、模型驗證、特徵最佳化、模型融合等步驟,將賽題的解決方案從0到1層層拆解、詳細說明,在展現專業選手解題過程的同時,配以豐富的相關技術知識作為補充。
《阿里雲天池大賽賽題解析——機器學習篇》從經典商業案例出發,內容由淺入深、層層遞進,既可以作為專業開發者的參考用書,也可以作為參賽新手研讀專業算法的實戰手冊。
圖書目錄
賽題一 工業蒸汽量預測
1 賽題理解 2
1.1 賽題背景 2
1.2 賽題目標 2
1.3 數據概覽 2
1.4 評估指標 3
1.5 賽題模型 4
2 數據探索 6
2.1 理論知識 6
2.1.1 變數識別 6
2.1.2 變數分析 6
2.1.3 缺失值處理 10
2.1.4 異常值處理 11
2.1.5 變數轉換 14
2.1.6 新變數生成 15
2.2 賽題數據探索 16
2.2.1 導入工具包 16
2.2.2 讀取數據 16
2.2.3 查看數據 16
2.2.4 可視化數據分布 18
2.2.5 查看特徵變數的相關性 26
3 特徵工程 33
3.1 特徵工程的重要性和處理 33
3.2 數據預處理和特徵處理 33
3.2.1 數據預處理 33
3.2.2 特徵處理 34
3.3 特徵降維 38
3.3.1 特徵選擇 39
3.3.2 線性降維 44
3.4 賽題特徵工程 45
3.4.1 異常值分析 45
3.4.2 最大值和最小值的
歸一化 46
3.4.3 查看數據分布 47
3.4.4 特徵相關性 48
3.4.5 特徵降維 48
3.4.6 多重共線性分析 49
3.4.7 PCA處理 50
4 模型訓練 52
4.1 回歸及相關模型 52
4.1.1 回歸的概念 52
4.1.2 回歸模型訓練和預測 52
4.1.3 線性回歸模型 52
4.1.4 K近鄰回歸模型 54
4.1.5 決策樹回歸模型 55
4.1.6 集成學習回歸模型 58
4.2 賽題模型訓練 61
4.2.1 導入相關庫 61
4.2.2 切分數據 62
4.2.3 多元線性回歸 62
4.2.4 K近鄰回歸 62
4.2.5 隨機森林回歸 63
4.2.6 LGB模型回歸 63
5 模型驗證 64
5.1 模型評估的概念和方法 64
5.1.1 欠擬合與過擬合 64
5.1.2 模型的泛化與正則化 68
5.1.3 回歸模型的評估指標和
調用方法 70
5.1.4 交叉驗證 72
5.2 模型調參 75
5.2.1 調參 75
5.2.2 格線搜尋 76
5.2.3 學習曲線 77
5.2.4 驗證曲線 78
5.3 賽題模型驗證和調參 78
5.3.1 模型過擬合與欠擬合 78
5.3.2 模型正則化 81
5.3.3 模型交叉驗證 82
5.3.4 模型超參空間及調參 85
5.3.5 學習曲線和驗證曲線 89
6 特徵最佳化 93
6.1 特徵最佳化的方法 93
6.1.1 合成特徵 93
6.1.2 特徵的簡單變換 93
6.1.3 用決策樹創造新特徵 94
6.1.4 特徵組合 94
6.2 賽題特徵最佳化 96
6.2.1 導入數據 96
6.2.2 特徵構造方法 96
6.2.3 特徵構造函式 96
6.2.4 特徵降維處理 96
6.2.5 模型訓練和評估 97
7 模型融合 100
7.1 模型最佳化 100
7.1.1 模型學習曲線 100
7.1.2 模型融合提升技術 100
7.1.3 預測結果融合策略 102
7.1.4 其他提升方法 105
7.2 賽題模型融合 106
7.2.1 導入工具包 106
7.2.2 獲取訓練數據和測試
數據 106
7.2.3 模型評價函式 107
7.2.4 採用格線搜尋訓練
模型 107
7.2.5 單一模型預測效果 109
7.2.6 模型融合Boosting方法 115
7.2.7 多模型預測Bagging
方法 118
7.2.8 多模型融合Stacking
方法 119
7.2.9 模型驗證 127
7.2.10 使用lr_reg和lgb_reg
進行融合預測 127
賽題二 天貓用戶重複購買預測
1 賽題理解 130
1.1 賽題背景 130
1.2 數據介紹 131
1.3 評估指標 133
1.4 賽題分析 134
2 數據探索 137
2.1 理論知識 137
2.1.1 缺失數據處理 137
2.1.2 不均衡樣本 138
2.1.3 常見的數據分布 141
2.2 賽題數據探索 144
2.2.1 導入工具包 145
2.2.2 讀取數據 145
2.2.3 數據集樣例查看 145
2.2.4 查看數據類型和數據
大小 146
2.2.5 查看缺失值 147
2.2.6 觀察數據分布 148
2.2.7 探查影響復購的各種
因素 150
3 特徵工程 155
3.1 特徵工程介紹 155
3.1.1 特徵工程的概念 155
3.1.2 特徵歸一化 155
3.1.3 類別型特徵的轉換 156
3.1.4 高維組合特徵的處理 156
3.1.5 組合特徵 157
3.1.6 文本表示模型 157
3.2 賽題特徵工程思路 158
3.3 賽題特徵工程構造 160
3.3.1 工具導入 160
3.3.2 數據讀取 160
3.3.3 對數據進行記憶體壓縮 161
3.3.4 數據處理 163
3.3.5 定義特徵統計函式 164
3.3.6 提取統計特徵 166
3.3.7 利用Countvector和
TF-IDF提取特徵 170
3.3.8 嵌入特徵 170
3.3.9 Stacking分類特徵 171
4 模型訓練 179
4.1 分類的概念 179
4.2 分類相關模型 179
4.2.1 邏輯回歸分類模型 179
4.2.2 K近鄰分類模型 180
4.2.3 高斯貝葉斯分類模型 182
4.2.4 決策樹分類模型 182
4.2.5 集成學習分類模型 183
5 模型驗證 186
5.1 模型驗證指標 186
5.1.1 準確度 186
5.1.2 查準率和查全率 188
5.1.3 F1值 189
5.1.4 分類報告 189
5.1.5 混淆矩陣 189
5.1.6 ROC 190
5.1.7 AUC曲線 190
5.2 賽題模型驗證和評估 190
5.2.1 基礎代碼 190
5.2.2 簡單驗證 191
5.2.3 設定交叉驗證方式 192
5.2.4 模型調參 194
5.2.5 混淆矩陣 195
5.2.6 不同的分類模型 198
5.2.7 自己封裝模型 205
6 特徵最佳化 211
6.1 特徵選擇技巧 211
6.2 賽題特徵最佳化 213
6.2.1 基礎代碼 213
6.2.2 缺失值補全 213
6.2.3 特徵選擇 213
賽題三 O2O優惠券預測
1 賽題理解 222
1.1 賽題介紹 222
1.2 賽題分析 223
2 數據探索 225
2.1 理論知識 225
2.1.1 數據探索的定義 225
2.1.2 數據探索的目的 226
2.1.3 相關Python包 226
2.2 初步的數據探索 226
2.2.1 數據讀取 226
2.2.2 數據查看 227
2.2.3 數據邊界探索 231
2.2.4 訓練集與測試集的
相關性 232
2.2.5 數據統計 236
2.3 數據分布 238
2.3.1 對文本數據的數值化
處理 238
2.3.2 數據分布可視化 242
3 特徵工程 246
3.1 賽題特徵工程思路 246
3.2 賽題特徵構建 248
3.2.1 工具函式 248
3.2.2 特徵群生成函式 250
3.2.3 特徵集成函式 256
3.2.4 特徵輸出 257
3.3 對特徵進行探索 260
3.3.1 特徵讀取函式 260
3.3.2 特徵總覽 261
3.3.3 查看特徵的分布 262
3.3.4 特徵相關性分析 265
4 模型訓練 266
4.1 模型訓練與評估 266
4.2 不同算法模型的性能對比 271
4.2.1 樸素貝葉斯 271
4.2.2 邏輯回歸 271
4.2.3 決策樹 272
4.2.4 隨機森林 272
4.2.5 XGBoost 273
4.2.6 LightGBM 274
4.2.7 不同特徵效果對比 274
4.3 結果輸出 274
5 模型驗證 276
5.1 評估指標 276
5.2 交叉驗證 276
5.3 模型比較 279
5.4 驗證結果可視化 282
5.5 結果分析 289
5.6 模型調參 290
5.7 實際方案 292
6 提交結果 299
6.1 整合及輸出結果 299
6.2 結果提交及線上驗證 302
賽題四 阿里雲安全惡意程式檢測
1 賽題理解 306
1.1 賽題介紹 306
1.2 賽題分析 307
2 數據探索 310
2.1 訓練集數據探索 310
2.1.1 數據特徵類型 310
2.1.2 數據分布 311
2.1.3 缺失值 312
2.1.4 異常值 312
2.1.5 標籤分布 313
2.2 測試集數據探索 314
2.2.1 數據信息 314
2.2.2 缺失值 315
2.2.3 數據分布 315
2.2.4 異常值 315
2.3 數據集聯合分析 316
2.3.1 file_id分析 316
2.3.2 API分析 317
3 特徵工程與基線模型 318
3.1 特徵工程概述 318
3.1.1 特徵工程介紹 318
3.1.2 構造特徵 318
3.1.3 特徵選擇 319
3.2 構造線下驗證集 319
3.2.1 評估穿越 319
3.2.2 訓練集和測試集的特徵
差異性 320
3.2.3 訓練集和測試集的分布
差異性 320
3.3 基線模型 320
3.3.1 數據讀取 320
3.3.2 特徵工程 321
3.3.3 基線構建 322
3.3.4 特徵重要性分析 324
3.3.5 模型測試 325
4 高階數據探索 326
4.1 變數分析 326
4.2 高階數據探索實戰 329
4.2.1 數據讀取 329
4.2.2 多變數交叉探索 329
5 特徵工程進階與方案最佳化 343
5.1 pivot特徵構建 343
5.1.1 pivot特徵 343
5.1.2 pivot特徵構建時間 343
5.1.3 pivot特徵構建細節和
特點 343
5.2 業務理解和結果分析 344
5.2.1 結合模型理解業務 344
5.2.2 多分類問題預測結果
分析 344
5.3 特徵工程進階實踐 344
5.3.1 特徵工程基礎部分 344
5.3.2 特徵工程進階部分 348
5.3.3 基於LightGBM的模型
驗證 349
5.3.4 模型結果分析 351
5.3.5 模型測試 354
6 最佳化技巧與解決方案升級 355
6.1 最佳化技巧:Python處理大數據
的技巧 355
6.1.1 記憶體管理控制 355
6.1.2 加速數據處理的技巧 356
6.1.3 其他開源工具包 356
6.2 深度學習解決方案:TextCNN
建模 358
6.2.1 問題轉化 358
6.2.2 TextCNN建模 358
6.2.3 數據預處理 360
6.2.4 TextCNN網路結構 361
6.2.5 TextCNN訓練和測試 362
6.2.6 結果提交 364
7 開源方案學習 365
作者簡介
本書由阿里雲天池平台編寫。
天池平台已經舉辦了超過 200 場來自真實業務場景的競賽,每場賽事沉澱的課題和數據集,將永久在天池保留和開放。天池平台已成為在校學生踏入職場前的虛擬實踐基地,也成為聚集40萬數據人才,孵化2000餘家數據創新工作室的數據智慧型大社區。