內容簡介
原文書名:Kaggleで勝つデータ分析の技術/初版
中文書名:Kaggle 競賽攻頂秘笈:揭開 Grandmaster 的特徵工程心法,掌握制勝的關鍵技術
內容簡介
Kaggle 是目前最大的資料科學競賽平台,這裡匯集世界各地超過 10 萬名資料科學家,解決各大企業公開於平台上面的資料及問題。Kaggle 曾經舉辦過總獎金一百萬美金的競賽,尋求各路好手解決癌症影像辨識的問題;也曾經有參賽者因為解決了一家壽險公司在 Kaggle 上發布的問題,因此順利進入該公司工作。因此,Kaggle 無疑是展現高超技術力,同時也是尋求優渥獎金、薪資、更好職位的途徑。
對於人工智慧的工程師、學生來說,Kaggle 平台提供了大量免費的資源:真實世界的資料集、各路好手的討論分享、以及累積實際操作的經驗等等。這些資源在一般課堂上幾乎很難取得,卻也是這領域最需要的知識與技能。
本書作者為四位 Kaggle 資料科學競賽專家,他們不僅透過實務上的角度解析各種特徵工程技術,超越一般教科書的視野;更重要的是提供各種技術、流程使用心得,讓讀者可以直接跳過嘗試、摸索的階段。試想下列的這些問題,不就是實務上經常會碰到的難處!而作者將會在書中闡述他們如何看待、解決這些事情:
.如何最佳化模型的閾值來獲得最高的評價分數?
.如何將資料經過編碼、降維等等轉換,以彰顯資料的特性?
.如何依據問題的型態選擇模型,且依照模型的特性來提取適當的特徵?
.如何正確進行時序資料的驗證以避免過度配適或資料外洩?
.如何調整梯度提升決策樹、類神經網路的參數?
.如何將自己所學的各種技術,進行有效的模型集成?
我們也在書中適時加上小編補充,讓讀者可以完整吸收四位專家的思想精髓,希望讀者閱讀本書之後,不僅可以在 Kaggle 競賽中締造絕佳成績,也相信讀者可以解決工作、研究中複雜且混亂的資料集。
讓我們一同走上資料科學的巔峰吧!
本書特色
.國立成功大學資訊工程學系特聘教授 陳培殷博士 推薦
.本書由施威銘研究室監修,內容易讀易懂,並加入大量「編註」與「小編補充」以幫助理解及補充必要知識。
.集結 4 位 Kaggle 高手累積共 37 面獎牌的實戰經驗
.整理當前實務上各種特徵工程的困難問題以及解決的方法
.分享各種技術使用時機與實踐結果的寶貴心得
.揭露 Kaggle 競賽高人一等的制勝精華
.提供書中 Python 範例程式下載
中文書名:Kaggle 競賽攻頂秘笈:揭開 Grandmaster 的特徵工程心法,掌握制勝的關鍵技術
內容簡介
Kaggle 是目前最大的資料科學競賽平台,這裡匯集世界各地超過 10 萬名資料科學家,解決各大企業公開於平台上面的資料及問題。Kaggle 曾經舉辦過總獎金一百萬美金的競賽,尋求各路好手解決癌症影像辨識的問題;也曾經有參賽者因為解決了一家壽險公司在 Kaggle 上發布的問題,因此順利進入該公司工作。因此,Kaggle 無疑是展現高超技術力,同時也是尋求優渥獎金、薪資、更好職位的途徑。
對於人工智慧的工程師、學生來說,Kaggle 平台提供了大量免費的資源:真實世界的資料集、各路好手的討論分享、以及累積實際操作的經驗等等。這些資源在一般課堂上幾乎很難取得,卻也是這領域最需要的知識與技能。
本書作者為四位 Kaggle 資料科學競賽專家,他們不僅透過實務上的角度解析各種特徵工程技術,超越一般教科書的視野;更重要的是提供各種技術、流程使用心得,讓讀者可以直接跳過嘗試、摸索的階段。試想下列的這些問題,不就是實務上經常會碰到的難處!而作者將會在書中闡述他們如何看待、解決這些事情:
.如何最佳化模型的閾值來獲得最高的評價分數?
.如何將資料經過編碼、降維等等轉換,以彰顯資料的特性?
.如何依據問題的型態選擇模型,且依照模型的特性來提取適當的特徵?
.如何正確進行時序資料的驗證以避免過度配適或資料外洩?
.如何調整梯度提升決策樹、類神經網路的參數?
.如何將自己所學的各種技術,進行有效的模型集成?
我們也在書中適時加上小編補充,讓讀者可以完整吸收四位專家的思想精髓,希望讀者閱讀本書之後,不僅可以在 Kaggle 競賽中締造絕佳成績,也相信讀者可以解決工作、研究中複雜且混亂的資料集。
讓我們一同走上資料科學的巔峰吧!
本書特色
.國立成功大學資訊工程學系特聘教授 陳培殷博士 推薦
.本書由施威銘研究室監修,內容易讀易懂,並加入大量「編註」與「小編補充」以幫助理解及補充必要知識。
.集結 4 位 Kaggle 高手累積共 37 面獎牌的實戰經驗
.整理當前實務上各種特徵工程的困難問題以及解決的方法
.分享各種技術使用時機與實踐結果的寶貴心得
.揭露 Kaggle 競賽高人一等的制勝精華
.提供書中 Python 範例程式下載
作者簡介
作者簡介
門脇大輔 (Kadowaki Daisuke)
京都大學綜合人間學部畢業後,進入人壽保險公司擔任精算師約 10 年,主要負責商品開發及風險管理等工作。與 Kaggle 邂逅之後,決定放下過往的工作,開始以 Kaggle 或是程式競賽為生。Kaggle Competitions Master (Walmart Recruiting II: Sales in Stormy Weather 優勝、Coupon Purchase Prediction 第 3 名)、日本精算師協會正式會員。
Kaggle: https://www.kaggle.com/threecourse
Twitter: https://twitter.com/threecourse
撰寫本書第 4、6、7 章及第 1、2、3、5 章部分內容。
阪田隆司 (Sakata Ryuuji)
2012 年於京都大學修畢研究所課程,進入日本國內電子業,從事資料科學家及研究員的工作。由於工作關係對資料科學及機器學習產生興趣,2014 年開始參加 Kaggle 上的競賽,2019 年成為 Kaggle Competitions Grandmaster。
Kaggle: https://www.kaggle.com/rsakata
Twitter: https://twitter.com/sakata_ryuji
撰寫本書的第 3、5 章。
保坂桂佑 (Hosaka Keisuke)
畢業於東京大學綜合文化研究所廣域科學組,主要研究天體模擬。於資料分析顧問公司將近 10 年,並幫助企業進行資料分析業務。隨後進入網路服務企業,從事提升資料利用率的工作。目前工作主要為培養機器學習工程師及資料管理科學家。擁有 Kaggle Competitions Expert 的頭銜。
Kaggle: https://www.kaggle.com/hskksk
Twitter: https://twitter.com/free_skier
撰寫本書的第 1 章及第 6 章部分內容。
平松雄司 (Hiramatsu Yuji)
東京大學理學院物理系、理學院物理所畢業後,進入日本國內電子業知名企業,之後轉職至金融業,在金融公司擔任定量分析師,從事國內大型損保集團的風險精算業務。目前為 AXA 人壽保險公司高級資料分析科學家,並推動公司內資料分析業務。同時也是日本精算師協會準會員,以及東京大學醫學資料分析的研究員。2016 年左右開始參與 Kaggle 競賽,並於 2018 年成為 Kaggle Competitions Master。非常喜歡小熊玩偶。
Kaggle: https://www.kaggle.com/maxwell110
Twitter: https://twitter.com/Maxwell_110
撰寫本書第 2 章及第 7 章部分內容。
門脇大輔 (Kadowaki Daisuke)
京都大學綜合人間學部畢業後,進入人壽保險公司擔任精算師約 10 年,主要負責商品開發及風險管理等工作。與 Kaggle 邂逅之後,決定放下過往的工作,開始以 Kaggle 或是程式競賽為生。Kaggle Competitions Master (Walmart Recruiting II: Sales in Stormy Weather 優勝、Coupon Purchase Prediction 第 3 名)、日本精算師協會正式會員。
Kaggle: https://www.kaggle.com/threecourse
Twitter: https://twitter.com/threecourse
撰寫本書第 4、6、7 章及第 1、2、3、5 章部分內容。
阪田隆司 (Sakata Ryuuji)
2012 年於京都大學修畢研究所課程,進入日本國內電子業,從事資料科學家及研究員的工作。由於工作關係對資料科學及機器學習產生興趣,2014 年開始參加 Kaggle 上的競賽,2019 年成為 Kaggle Competitions Grandmaster。
Kaggle: https://www.kaggle.com/rsakata
Twitter: https://twitter.com/sakata_ryuji
撰寫本書的第 3、5 章。
保坂桂佑 (Hosaka Keisuke)
畢業於東京大學綜合文化研究所廣域科學組,主要研究天體模擬。於資料分析顧問公司將近 10 年,並幫助企業進行資料分析業務。隨後進入網路服務企業,從事提升資料利用率的工作。目前工作主要為培養機器學習工程師及資料管理科學家。擁有 Kaggle Competitions Expert 的頭銜。
Kaggle: https://www.kaggle.com/hskksk
Twitter: https://twitter.com/free_skier
撰寫本書的第 1 章及第 6 章部分內容。
平松雄司 (Hiramatsu Yuji)
東京大學理學院物理系、理學院物理所畢業後,進入日本國內電子業知名企業,之後轉職至金融業,在金融公司擔任定量分析師,從事國內大型損保集團的風險精算業務。目前為 AXA 人壽保險公司高級資料分析科學家,並推動公司內資料分析業務。同時也是日本精算師協會準會員,以及東京大學醫學資料分析的研究員。2016 年左右開始參與 Kaggle 競賽,並於 2018 年成為 Kaggle Competitions Master。非常喜歡小熊玩偶。
Kaggle: https://www.kaggle.com/maxwell110
Twitter: https://twitter.com/Maxwell_110
撰寫本書第 2 章及第 7 章部分內容。
內容目錄
目錄
[簡要目錄]
第 1 章 數據分析競賽是什麼?
第 2 章 任務與評價指標
第 3 章 特徵提取
第 4 章 建立模型
第 5 章 模型評價
第 6 章 模型調整
第 7 章 模型集成
[完整目錄]
第 1 章 數據分析競賽是什麼?
1.1 什麼是數據分析競賽?
1.1.1 數據分析競賽的目的
1.1.2 提交預測結果與排行榜 (Leaderboard)
1.1.3 組隊參賽
1.1.4 獎金、獎品
1.2 Kaggle 平台簡介
1.2.1 Kaggle
1.2.2 Rankings (排名、頭銜制度)
1.2.3 Notebooks
1.2.4 Discussion
1.2.5 Datasets
1.2.6 Kaggle API
1.2.7 Newsfeed
1.2.8 實際舉辦過的數據分析競賽類別與案例
1.2.9 數據分析競賽的形式 (format)
1.3 從開始參加數據分析競賽到結束
1.3.1 參加數據分析競賽
1.3.2 同意規定和條約
1.3.3 下載資料
1.3.4 產生預測值
1.3.5 提交預測值
1.3.6 查看 Public Leaderboard
1.3.7 選擇最終預測值
1.3.8 查看 Private Leaderboard
1.4 參加數據分析競賽的意義
1.4.1 獲得獎金
1.4.2 獲得頭銜或排名
1.4.3 使用實際資料進行分析的經驗/技術
1.4.4 建立和其他資料科學家的交流
1.4.5 獲得就業機會
1.5 贏得優勝的秘訣
1.5.1 任務和評價指標 (Metric)
1.5.2 建立特徵
1.5.3 建立模型
1.5.4 評價模型
1.5.5 模型調整
1.5.6 集成學習 (Ensemble Learning)
1.5.7 數據分析競賽的流程
第 2 章 任務與評價指標
2.1 數據分析競賽的任務種類
2.1.1 迴歸任務 (Regression)
2.1.2 分類任務 (Classification):二元分類與多分類
2.1.3 推薦任務 (Recommendation)
2.1.4 圖像資料任務
2.2 數據分析競賽的資料集 (Dataset)
2.2.1 表格資料 (tabular data)
2.2.2 外部資料
2.2.3 時間序列資料
2.2.4 圖像或自然語言等資料
2.3 任務與評價指標
2.3.1 什麼是評價指標 (evaluation metrics)?
2.3.2 迴歸任務的評價指標
2.3.3 二元分類任務的評價指標:預測值為正例或負例的情況
2.3.4 二元分類任務的評價指標:預測值為正例機率的情況
2.3.5 多元分類 (Multiclass Classification) 任務的評價指標
2.3.6 推薦任務的評價指標:MAP@K
2.4 評價指標和目標函數
2.4.1 評價指標和目標函數的差異
2.4.2 自定義評價指標與目標函數
2.5 評價指標的最佳化
2.5.1 最佳化評價指標的方法
2.5.2 最佳化閾值
2.5.3 是否該使用 out-of-fold 來最佳化閾值?
2.5.4 針對預測機率的調整
2.6 最佳化評價指標的競賽實例
2.6.1 balanced accuracy 的最佳化
2.6.2 mean-F1 的閾值最佳化
2.6.3 最佳化 quadratic weighted kappa 閾值
2.6.4 最佳化MAE ─ 使用相似的自定義目標函數
2.6.5 MCC 的近似值:PR-AUC 及模型的選擇
2.7 資料外洩 (data leakage)
2.7.1 在無預期的情況下外洩有利於預測的資訊
2.7.2 驗證機制錯誤所造成的資料外洩
第 3 章 特徵提取
3.1 本章結構
3.2 模型和特徵
3.2.1 模型和特徵
3.2.2 初步 (Baseline) 模型
3.2.3 從決策樹 (Decision Tree) 的角度思考
3.3 缺失值的處理
3.3.1 維持缺失值
3.3.2 以代表值填補缺失值
3.3.3 使用其他變數來預測缺失值
3.3.4 由缺失值來建立一個全新的特徵
3.3.5 認識資料中的缺失值
3.4 數值變數的轉換
3.4.1 標準化 (standardization)
3.4.2 Min-Max 縮放方法
3.4.3 非線性轉換
3.4.4 Clipping
3.4.5 Binning (分組)
3.4.6 將數值轉換為排序
3.4.7 RankGauss
3.5 類別變數的轉換
3.5.1 One-hot encoding
3.5.2 Label encoding
3.5.3 Feature hashing
3.5.4 Frequency encoding
3.5.5 Target encoding
3.5.6 Embedding
3.5.7 處理次序變數
3.5.8 提取類別變數中值的意義
3.6 日期、時間變數的轉換
3.6.1 轉換日期、時間變數的要點
3.6.2 將日期、時間變數轉換為特徵
3.7 變數組合
3.8 結合其他表格資料
3.9 使用統計量
3.9.1 使用基本統計量
3.9.2 使用時間性統計量
3.9.3 限定條件範圍
3.9.4 轉換統計單位
3.9.5 關注商品
3.10 處理時間序列資料
3.10.1 什麼是時間序列資料?
3.10.2 使用比預測資料還舊的資訊
3.10.3 寬表格和長表格
3.10.4 lag 特徵
3.10.5 將資料與時間做連結的方法
3.10.6 可用於預測的資料時間
3.11 降維/非監督式學習特徵
3.11.1 主成分分析 (Principal Component Analysis, PCA)
3.11.2 非負矩陣分解 (Non-negat
[簡要目錄]
第 1 章 數據分析競賽是什麼?
第 2 章 任務與評價指標
第 3 章 特徵提取
第 4 章 建立模型
第 5 章 模型評價
第 6 章 模型調整
第 7 章 模型集成
[完整目錄]
第 1 章 數據分析競賽是什麼?
1.1 什麼是數據分析競賽?
1.1.1 數據分析競賽的目的
1.1.2 提交預測結果與排行榜 (Leaderboard)
1.1.3 組隊參賽
1.1.4 獎金、獎品
1.2 Kaggle 平台簡介
1.2.1 Kaggle
1.2.2 Rankings (排名、頭銜制度)
1.2.3 Notebooks
1.2.4 Discussion
1.2.5 Datasets
1.2.6 Kaggle API
1.2.7 Newsfeed
1.2.8 實際舉辦過的數據分析競賽類別與案例
1.2.9 數據分析競賽的形式 (format)
1.3 從開始參加數據分析競賽到結束
1.3.1 參加數據分析競賽
1.3.2 同意規定和條約
1.3.3 下載資料
1.3.4 產生預測值
1.3.5 提交預測值
1.3.6 查看 Public Leaderboard
1.3.7 選擇最終預測值
1.3.8 查看 Private Leaderboard
1.4 參加數據分析競賽的意義
1.4.1 獲得獎金
1.4.2 獲得頭銜或排名
1.4.3 使用實際資料進行分析的經驗/技術
1.4.4 建立和其他資料科學家的交流
1.4.5 獲得就業機會
1.5 贏得優勝的秘訣
1.5.1 任務和評價指標 (Metric)
1.5.2 建立特徵
1.5.3 建立模型
1.5.4 評價模型
1.5.5 模型調整
1.5.6 集成學習 (Ensemble Learning)
1.5.7 數據分析競賽的流程
第 2 章 任務與評價指標
2.1 數據分析競賽的任務種類
2.1.1 迴歸任務 (Regression)
2.1.2 分類任務 (Classification):二元分類與多分類
2.1.3 推薦任務 (Recommendation)
2.1.4 圖像資料任務
2.2 數據分析競賽的資料集 (Dataset)
2.2.1 表格資料 (tabular data)
2.2.2 外部資料
2.2.3 時間序列資料
2.2.4 圖像或自然語言等資料
2.3 任務與評價指標
2.3.1 什麼是評價指標 (evaluation metrics)?
2.3.2 迴歸任務的評價指標
2.3.3 二元分類任務的評價指標:預測值為正例或負例的情況
2.3.4 二元分類任務的評價指標:預測值為正例機率的情況
2.3.5 多元分類 (Multiclass Classification) 任務的評價指標
2.3.6 推薦任務的評價指標:MAP@K
2.4 評價指標和目標函數
2.4.1 評價指標和目標函數的差異
2.4.2 自定義評價指標與目標函數
2.5 評價指標的最佳化
2.5.1 最佳化評價指標的方法
2.5.2 最佳化閾值
2.5.3 是否該使用 out-of-fold 來最佳化閾值?
2.5.4 針對預測機率的調整
2.6 最佳化評價指標的競賽實例
2.6.1 balanced accuracy 的最佳化
2.6.2 mean-F1 的閾值最佳化
2.6.3 最佳化 quadratic weighted kappa 閾值
2.6.4 最佳化MAE ─ 使用相似的自定義目標函數
2.6.5 MCC 的近似值:PR-AUC 及模型的選擇
2.7 資料外洩 (data leakage)
2.7.1 在無預期的情況下外洩有利於預測的資訊
2.7.2 驗證機制錯誤所造成的資料外洩
第 3 章 特徵提取
3.1 本章結構
3.2 模型和特徵
3.2.1 模型和特徵
3.2.2 初步 (Baseline) 模型
3.2.3 從決策樹 (Decision Tree) 的角度思考
3.3 缺失值的處理
3.3.1 維持缺失值
3.3.2 以代表值填補缺失值
3.3.3 使用其他變數來預測缺失值
3.3.4 由缺失值來建立一個全新的特徵
3.3.5 認識資料中的缺失值
3.4 數值變數的轉換
3.4.1 標準化 (standardization)
3.4.2 Min-Max 縮放方法
3.4.3 非線性轉換
3.4.4 Clipping
3.4.5 Binning (分組)
3.4.6 將數值轉換為排序
3.4.7 RankGauss
3.5 類別變數的轉換
3.5.1 One-hot encoding
3.5.2 Label encoding
3.5.3 Feature hashing
3.5.4 Frequency encoding
3.5.5 Target encoding
3.5.6 Embedding
3.5.7 處理次序變數
3.5.8 提取類別變數中值的意義
3.6 日期、時間變數的轉換
3.6.1 轉換日期、時間變數的要點
3.6.2 將日期、時間變數轉換為特徵
3.7 變數組合
3.8 結合其他表格資料
3.9 使用統計量
3.9.1 使用基本統計量
3.9.2 使用時間性統計量
3.9.3 限定條件範圍
3.9.4 轉換統計單位
3.9.5 關注商品
3.10 處理時間序列資料
3.10.1 什麼是時間序列資料?
3.10.2 使用比預測資料還舊的資訊
3.10.3 寬表格和長表格
3.10.4 lag 特徵
3.10.5 將資料與時間做連結的方法
3.10.6 可用於預測的資料時間
3.11 降維/非監督式學習特徵
3.11.1 主成分分析 (Principal Component Analysis, PCA)
3.11.2 非負矩陣分解 (Non-negat