深度學習處理結構化數據實戰 Deep Learning with Structured Data

Mark Ryan 史躍東 譯

  • 深度學習處理結構化數據實戰-preview-1
  • 深度學習處理結構化數據實戰-preview-2
  • 深度學習處理結構化數據實戰-preview-3
深度學習處理結構化數據實戰-preview-1

買這商品的人也買了...

商品描述

告訴你一個不太光彩的秘密:在大多數數據科學項目中,有一半的時間都花在清理和準備數據上了。但還有更好的方法:針對表格數據和關系數據庫進行優化的 深度學習技術,無需密集的特性工程,就能提供洞察和分析。學習使用少量的數據過濾、驗證和清洗,就能解鎖深度學習性能的技能。 《深度學習處理結構化數據實戰》傳授面向表格數據和關系數據庫的強大數據分析技術。本書從多倫多公交系統的數據集出發,帶你領略用深度學習處理表格化數據的簡易性和便捷性,並教你解決在生產環境中部署模型和監控模型性能等關鍵問題。 主要內容 ●何時何地使用深度學習技術 ●Keras深度學習模型的架構 ●訓練、部署以及維護模型 ●量化評估性能

作者簡介

Mark Ryan 是加拿大多倫多Intact Insurance(加拿大大的房產、汽車和商業保險公司,隸屬於加拿大Intact Financial Corporation)的數據科學經理。 Mark 熱衷於宣揚機器學習的好處,常組織機器學習訓練營,使參與者能夠親身體驗機器學習的世界。他潛心於深度學習,努力解鎖深度學習在結構化表格數據處理上的潛力,此外,他還對聊天機器人和自動駕駛汽車的潛力深感興趣。 Mark 擁有加拿大滑鐵盧大學的數學學士學位和多倫多大學的計算機科學碩士學位。

目錄大綱

第1 章 為何要使用結構化數據進行深度學習   1
1.1 深度學習概述  ·2
1.2 深度學習的優缺點 7
1.3 深度學習軟件棧概述    10
1.4 結構化數據與非結構化數據   12
1.5 反對使用結構化數據進行深度學習的相關意見   15
1.6 為何要研究基於結構化數據的深度學習問題? 16
1.7 本書附帶的代碼概述    18
1.8 你應該知道的內容    19
1.9 本章小結  20

第2 章 示例問題和Pandas數據幀簡介 23
2.1 深度學習開發環境選項    24
2.2 探索Pandas 的代碼    27
2.3 Python 中的Pandas數據幀   28
2.4 將CSV 文件提取到Pandas 數據幀中  31
2.5 使用Pandas 來完成SQL 操作  32
2.6 主示例:預測有軌電車的延誤情況  35
2.7 為何真實世界的數據集對於掌握深度學習至關重要  38
2.8 輸入數據集的格式和範圍   39
2.9 目的地:端到端的解決方案  41
2.10 有關解決方案代碼的更多細節  44
2.11 開發環境:普通環境與深度學習專用環境   47
2.12 深入研究反對深度學習的意見   48
2.13 深度學習是如何變得更易於使用的  52
2.14 訓練深度學習模型初試   53
2.15 本章小結  56

第3 章 準備數據1:探索及清理數據   57
3.1 探索及清理數據的代碼    58
3.2 在Python 中使用配置文件    58
3.3 將XLS 文件提取到Pandas 數據幀中  61
3.4 使用pickle 將Pandas數據幀從一個會話保存到另一個會話中  67
3.5 探索數據  69
3.6 將數據分為連續型、分類型以及文本型  74
3.7 清理數據集中存在的問題:數據丟失、錯誤以及猜測    76
3.8 確定深度學習需要多少數據  82
3.9 本章小結  83

第4 章 準備數據2:轉換數據   ·85
4.1 準備及轉換數據的代碼    86
4.2 處理不正確的數值:路線    86
4.3 為何只能用單個替代值來換掉所有錯誤的值? 89
4.4 處理不正確的值:車輛    90
4.5 處理不一致的值:位置    92
4.6 去向遠方:位置  94
4.7 處理類型不匹配問題    98
4.8 處理依然包含錯誤數據的行  99
4.9 創建派生列  ·100
4.10 準備非數值型數據來訓練深度學習模型  101
4.11 端到端解決方案概述  105
4.12 本章小結 108

第5 章 準備並構建模型  111
5.1 數據洩露和數據特徵是訓練模型的公平博弈 112
5.2 使用領域專業知識和最小得分測試來防止數據洩露 113
5.3 防止有軌電車延誤預測中的數據洩露問題   114
5.4 探索Keras 和建立模型的代碼  ·117
5.5 推導用於訓練模型的數據幀  118
5.6 將數據幀轉換為Keras 模型期望的格式   122
5.7 Keras 和TensorFlow簡史   123
5.8 從TensorFlow 1.x 遷移到TensorFlow 2  125
5.9 TensorFlow 與PyTorch  126
5.10 Keras 中的深度學習模型架構   127
5.11 數據結構是如何定義Keras 模型的  132
5.12 嵌入的力量  135
5.13 基於數據結構自動構建Keras 模型的代碼  138
5.14 探索模型 141
5.15 模型參數 148
5.16 本章小結 149

第6 章 模型訓練與實驗 151
6.1 訓練深度學習模型的代碼   152
6.2 審核訓練深度學習模型的過程  ·152
6.3 回顧有軌電車延誤預測模型的總體目標   156
6.4 選擇訓練、驗證以及測試數據集  ·159
6.5 初始訓練 160
6.6 評估模型的性能 163
6.7 Keras 回調:從訓練中獲得最大收益  167
6.8 從多次訓練中獲得相同的結果  ·175
6.9 評估捷徑 176
6.10 顯式保存已訓練的模型  178
6.11 運行一系列訓練實驗  179
6.12 本章小結 186

第7 章 對已訓練的模型進行更多實驗  187
7.1 使用模型進行更多實驗的代碼  ·188
7.2 驗證刪除不良值是否可改善模型  ·188
7.3 驗證嵌入列是否可提升模型的性能 190
7.4 深度學習模型與XGBoost ·191
7.5 改進深度學習模型可能的後繼步驟  198
7.6 本章小結 199

第8 章 模型部署  201
8.1 模型部署概述  202
8.2 既然部署工作很重要,那為何又如此艱難? 204
8.3 回顧一次性評分 204
8.4 Web 部署的用戶體驗   206
8.5 通過Web 部署來部署模型的步驟 207
8.6 Web 部署的幕後知識   211
8.7 使用Facebook Messenger 部署的用戶體驗 214
8.8 使用FacebookMessenger 部署的幕後知識 217
8.9 關於Rasa 的更多背景知識 218
8.10 使用Rasa 在Facebook Messenger 中部署模型的步驟  221
8.11 pipeline 簡介  225
8.12 在模型訓練階段定義pipeline   229
8.13 在評分階段應用pipeline ·232
8.14 部署後維護模型  234
8.15 本章小結 237

第9 章 建議的後繼步驟 239
9.1 回顧本書目前已述內容   240
9.2 有軌電車延誤預測項目的後繼工作 241
9.3 將詳細的位置信息添加到有軌電車延遲預測項目中 242
9.4 使用天氣數據來訓練深度學習模型  246
9.5 在有軌電車延誤預測項目中增加季節或者一天中的時間數據   252
9.6 歸因:刪除包含不良值的記錄的替代方法   253
9.7 發布有軌電車延誤預測模型的Web部署   254
9.8 使有軌電車延誤預測模型適用於新的數據集  256
9.9 準備數據集並訓練模型   259
9.10 通過Web 部署來部署模型   261
9.11 使用FacebookMessenger 部署模型  263
9.12 使本書中的方法適用於不同的數據集 ·266
9.13 其他的學習資源  272
9.14 本章小結 274

附錄 使用Google 協作實驗室(GoogleColaboratory)  ·275
A.1 Colab 簡介  ·275
A.2 使Google 雲硬盤適用於Colab會話   277
A.3 在Colab 中使用repo並運行notebook  279
A.4 Colab 和Paperspace的優劣  282