本書將帶你了解特征工程的完整過程,使機器學習更加系統(tǒng)、高效。你會從理解數據開始學習,機器學習模型的成功正是取決于如何利用不同類型的特征,例如連續(xù)特征、分類特征等。你將了解何時納入一項特征、何時忽略一項特征,以及其中的原因。你還會學習如何將問題陳述轉換為有用的新特征,如何提供由商業(yè)需求和數學見解驅動的特征,以及如何在自己的機器上進行機器學習,從而自動學習數據中的特征。
特征工程是數據科學和機器學習流水線上的重要一環(huán),包括識別、清洗、構建和發(fā)掘數據的特征,為進一步解釋數據并進行預測性分析做準備。
本書囊括了特征工程的全流程,從數據檢查到可視化,再到轉換和進一步處理等,并給出了大量數學工具,幫助讀者掌握如何將數據處理、轉換成適當的形式,以便送入計算機和機器學習流水線中進行處理。后半部分的特征工程實踐用Python作為示例語言,循序漸進,通俗易懂。
- 識別和利用不同類型的特征
- 清洗數據中的特征,提升預測能力
- 為何、如何進行特征選擇和模型誤差分析
- 利用領域知識構建新特征
- 基于數學知識交付特征
- 使用機器學習算法構建特征
- 掌握特征工程與特征優(yōu)化
- 在現實應用中利用特征工程
錫南·厄茲代米爾(Sinan Ozdemir)
數據科學家、數學家、約翰·霍普金斯大學講師,Kylie.ai公司聯(lián)合創(chuàng)始人、CTO,在應用數據挖掘、功能分析和算法開發(fā)做出基于數據和知識的決策方面擁有豐富的經驗。
迪夫婭·蘇薩拉(Divya Susarla)
在利用數據方面經驗豐富,在包括投資管理、社會企業(yè)咨詢和紅9營銷的各個產業(yè)和領域里實現并應用過相應的策略。Kylie.ai公司產品經理,目前專注于自然語言處理和生成技術。
第 1章 特征工程簡介 1
1.1 激動人心的例子:AI驅動的聊天 1
1.2 特征工程的重要性 2
1.3 特征工程是什么 5
1.4 機器學習算法和特征工程的評估 9
1.4.1 特征工程的例子:真的有人能預測天氣嗎 10
1.4.2 特征工程的評估步驟 10
1.4.3 評估監(jiān)督學習算法 11
1.4.4 評估無監(jiān)督學習算法 11
1.5 特征理解:我的數據集里有什么 12
1.6 特征增強:清洗數據 13
1.7 特征選擇:對壞屬性說不 14
1.8 特征構建:能生成新特征嗎 14
1.9 特征轉換:數學顯神通 15
1.10 特征學習:以AI促AI 16
1.11 小結 17
第 2章 特征理解:我的數據集里有什么 19
2.1 數據結構的有無 19
2.2 定量數據和定性數據 20
2.3 數據的4個等級 25
2.3.1 定類等級 26
2.3.2 定序等級 27
2.3.3 定距等級 30
2.3.4 定比等級 36
2.4 數據等級總結 38
2.5 小結 40
第3章 特征增強:清洗數據 41
3.1 識別數據中的缺失值 41
3.1.1 皮馬印第安人糖尿病預測數據集 42
3.1.2 探索性數據分析 42
3.2 處理數據集中的缺失值 48
3.2.1 刪除有害的行 50
3.2.2 填充缺失值 54
3.2.3 在機器學習流水線中填充值 57
3.3 標準化和歸一化 61
3.3.1 z分數標準化 63
3.3.2 min-max標準化 67
3.3.3 行歸一化 68
3.3.4 整合起來 69
3.4 小結 70
第4章 特征構建:我能生成新特征嗎 71
4.2 填充分類特征 72
4.2.1 自定義填充器 74
4.2.2 自定義分類填充器 74
4.2.3 自定義定量填充器 76
4.3 編碼分類變量 77
4.3.1 定類等級的編碼 77
4.3.2 定序等級的編碼 79
4.3.3 將連續(xù)特征分箱 80
4.3.4 創(chuàng)建流水線 82
4.4 擴展數值特征 83
4.4.1 根據胸部加速度計識別動作的數據集 83
4.4.2 多項式特征 86
4.5 針對文本的特征構建 89
4.5.1 詞袋法 89
4.5.2 CountVectorizer 90
4.5.3 TF-IDF向量化器 94
4.5.4 在機器學習流水線中使用文本 95
4.6 小結 97
第5章 特征選擇:對壞屬性說不 98
5.1 在特征工程中實現更好的性能 99
5.2 創(chuàng)建基準機器學習流水線 103
5.3 特征選擇的類型 106
5.3.1 基于統(tǒng)計的特征選擇 106
5.3.2 基于模型的特征選擇 117
5.4 選用正確的特征選擇方法 125
5.5 小結 125
第6章 特征轉換:數學顯神通 127
6.1 維度縮減:特征轉換、特征選擇與特征構建 129
6.2 主成分分析 130
6.2.1 PCA的工作原理 131
6.2.2 鳶尾花數據集的PCA——手動處理 131
6.2.3 scikit-learn的PCA 137
6.2.4 中心化和縮放對PCA的影響 144
6.3 線性判別分析 148
6.3.1 LDA的工作原理 149
6.3.2 在scikit-learn中使用LDA 152
6.4 LDA與PCA:使用鳶尾花數據集 157
6.5 小結 160
第7章 特征學習:以AI促AI 161
7.1 數據的參數假設 161
7.1.1 非參數謬誤 163
7.1.2 本章的算法 163
7.2 受限玻爾茲曼機 163
7.2.1 不一定降維 164
7.2.2 受限玻爾茲曼機的圖 164
7.2.3 玻爾茲曼機的限制 166
7.2.4 數據重建 166
7.2.5 MNIST數據集 167
7.3 伯努利受限玻爾茲曼機 169
7.3.1 從MNIST中提取PCA主成分 170
7.3.2 從MNIST中提取RBM特征 177
7.4.1 對原始像素值應用線性模型 178
7.4.3 對提取的RBM特征應用線性模型 179
7.5 學習文本特征:詞向量 180
7.5.1 詞嵌入 180
7.5.2 兩種詞嵌入方法:Word2vec和GloVe 182
7.5.3 Word2vec:另一個淺層神經網絡 182
7.5.4 創(chuàng)建Word2vec詞嵌入的gensim包 183
7.5.5 詞嵌入的應用:信息檢索 186
7.6 小結 190
第8章 案例分析 191
8.1 案例1:面部識別 191
8.1.1 面部識別的應用 191
8.1.2 數據 192
8.1.3 數據探索 193
8.1.4 應用面部識別 195
8.2 案例2:預測酒店評論數據的主題 200
8.2.1 文本聚類的應用 200
8.2.2 酒店評論數據 200
8.2.3 數據探索 201
8.2.4 聚類模型 203
8.2.5 SVD與PCA主成分 204
8.2.6 潛在語義分析 206
8.3 小結 210