本書介紹了克服日常面臨的各種挑戰(zhàn)的實踐知識,以及各種數(shù)據(jù)科學解決方案,主要包括數(shù)據(jù)科學概論,機器學習模型測試,人工智能基礎,理想的數(shù)據(jù)科學團隊, 數(shù)據(jù)科學團隊招聘面試,組建數(shù)據(jù)科學團隊,創(chuàng)新管理,管理數(shù)據(jù)科學項目,數(shù)據(jù)科學項目的常見陷阱,創(chuàng)造產(chǎn)品與提升可重用性,實施 ModelOps,建立技術棧和結論。
本書的目標讀者是希望有效地引入數(shù)據(jù)科學工作流程以提升組織效率、改進業(yè)務的數(shù)據(jù)科學家、數(shù)據(jù)分析人員和項目主管。
了解一些數(shù)據(jù)科學的基本概念有助于本書的閱讀。
本書以數(shù)據(jù)科學項目貫穿,對數(shù)據(jù)科學工作者有很強的參考價值。
前言數(shù)據(jù)科學和機器學習能夠促進組織轉(zhuǎn)型,創(chuàng)造新機會。任何數(shù)據(jù)科學項目都是研究、軟件工程和業(yè)務經(jīng)驗的獨特組合。從原型開發(fā)到實際應用,需要扎扎實實的管理指導。以往的方法往往因為強調(diào)不同的條件和要求而屢屢失敗。本書介紹經(jīng)過實證的數(shù)據(jù)科學項目管理方法,用最佳實踐和實用提示幫助用戶走上正軌。借助這本書,你將了解數(shù)據(jù)科學和人工智能的實際應用,能夠?qū)⑺鼈內(nèi)谌肽愕慕鉀Q方案中。你將穿過數(shù)據(jù)科學項目的生命周期,探究每一步可能遇到的常見陷阱,學會如何規(guī)避。任何數(shù)據(jù)科學項目都需要結構合理的實力團隊,本書將為你廣攬英才、打造數(shù)據(jù)科學的實力團隊建言獻策。本書還將告訴你如何利用 DevOps 有效地管理和改進數(shù)據(jù)科學項目。讀完這本書,讀者將擁有應對日常面臨的各種挑戰(zhàn)所需的實踐知識,掌握各種數(shù)據(jù)科學解決方案。本書的目標讀者本書的目標讀者是希望有效地引入數(shù)據(jù)科學工作流程以提升組織效率、改進業(yè)務的數(shù)據(jù)科學家、數(shù)據(jù)分析人員和項目主管。了解一些數(shù)據(jù)科學的基本概念有助于本書的閱讀。本書涵蓋的內(nèi)容第 1 章,數(shù)據(jù)科學概論。 本章討論人工智能、數(shù)據(jù)科學、機器學習、深度學習以及因果推理的實際應用。第 2 章,機器學習模型測試。 本章解釋如何通過模型測試區(qū)分好與不好的解決方案。本章還介紹不同類型的度量指標,借助數(shù)學函數(shù)評價預測質(zhì)量。第 3 章,人工智能基礎。 本章探究數(shù)據(jù)科學的內(nèi)部工作原理,闡述機器學習和深度學習背后的一些主要概念。本章還給出數(shù)據(jù)科學的簡要介紹。第 4 章,理想的數(shù)據(jù)科學團隊。 本章解釋如何組建和維持能夠交付復雜多功能項目的數(shù)據(jù)科學團隊。本章還闡述軟件工程以及獲得軟件開發(fā)團隊幫助的重要性。第 5 章,數(shù)據(jù)科學團隊招聘面試。 本章介紹如何完成一次有效的數(shù)據(jù)科學團隊面試。本章還闡述面試之前設定目標的重要性。第 6 章,組建數(shù)據(jù)科學團隊。 本章為組建數(shù)據(jù)科學團隊提出工作指南。你將了解組建成功團隊的三個關鍵因素和領導者在數(shù)據(jù)科學團隊中的角色。第 7 章,創(chuàng)新管理。 本章討論創(chuàng)新以及如何管理創(chuàng)新。你將了解如何識別具有實際價值的項目和問題。第 8 章,管理數(shù)據(jù)科學項目。 本章討論為團隊分解和規(guī)劃任務的數(shù)據(jù)科學項目全生命周期,還探討如何區(qū)分數(shù)據(jù)分析類項目和軟件工程項目。第 9 章,數(shù)據(jù)科學項目的常見陷阱。 本章深入探討數(shù)據(jù)科學項目的常見陷阱,剖析增加項目相關風險的錯誤并按數(shù)據(jù)科學項目生命周期逐個予以消除。第 10 章,創(chuàng)造產(chǎn)品與提升可重用性。 本章介紹如何培育數(shù)據(jù)科學產(chǎn)品和通過采用可重用技術提升內(nèi)部團隊的績效。本章還介紹改進項目可重用性的策略,討論根據(jù)經(jīng)驗開發(fā)自主產(chǎn)品的條件。第 11 章,實施 ModelOps。 本章討論 ModelOps 與 DevOps 的關系以及 ModelOps 運行的主要步驟。本章還介紹管理代碼、數(shù)據(jù)版本化以及團隊成員之間共享環(huán)境等策略。第 12 章,建立技術棧。 本章介紹如何建立和管理數(shù)據(jù)科學的技術棧。本章還討論核心技術棧與項目專用技術棧的區(qū)別,研究比較不同技術的分析方法。第 13 章,結論。 本章提供幫助你增加數(shù)據(jù)科學領域的知識的書籍清單。閱讀本書之前所要做的準備本書希望對非技術專業(yè)人員是自成體系且通俗易懂的,并不要求事先掌握數(shù)據(jù)科學、機器學習和編程知識。對統(tǒng)計和數(shù)學優(yōu)化有基本的了解是有益的,但也不是必需的。在軟件開發(fā)、項目管理以及 DevOps 的主要概念方面有專業(yè)知識將對讀者有所幫助,因為本書描述的方法與這些方法類似。數(shù)據(jù)科學項目管理方法還遠遠不夠完備。事實上,也永遠不會完備。針對某種情況下每個業(yè)務的所有問題,絕對沒有什么放之四海而皆準的解決辦法。本書并不是要確立具體的復雜的管理流程,而是給出針對性的策略和實用性的建議。希望本書能成為你暢游數(shù)據(jù)科學世界的指導書。下載彩色配圖本書用到的彩色圖表和屏幕截圖已經(jīng)匯集成一個 PDF 文件。 讀者可以從這里下載: https://static.packt-cdn.com/downloads/9781838826321_ColorImages.pdf 下載。字體約定本書采用以下若干文本格式約定。CodeInText:表示代碼文本、數(shù)據(jù)庫表名、文件夾名、文件名、文件擴展名、路徑名、虛擬 URL、用戶輸入以及推特用戶名( Twitter handle)。例如, 他們也已經(jīng)使用 ? gitlab 標記作為 pyscaffold 命令以便他們需要的時候就有可用的 GitLab CI/CD 模板。代碼塊設置如下:├── AUTHORS.rst <- List of developers and maintainers.├── CHANGELOG.rst <- Changelog to keep track of new features and fixes.├── LICENSE.txt <- License as chosen on the command-line.├── README.md <- The top-level README for developers.├── configs <- Directory for configurations of model & application.├── data命令行的輸入輸出標記為粗體格式:pip install -e .Bold(粗體):表示新概念、關鍵詞或者出現(xiàn)在屏幕上的詞。菜單/對話框里的詞在文本中就如此表示。例如, Docker 鏡像的運行實例被稱作 Docker 容器( Container)。表示警告或重要說明。表示提示或技巧。聯(lián)系方式歡迎讀者給出反饋。一般反饋: 如果對本書的任何方面有疑問,請在郵件主題中注明書名,發(fā)郵件至 customercare@packtpub.com?闭`: 雖然我們已盡力確保書中內(nèi)容的準確性,但錯誤仍難以避免。如果你發(fā)現(xiàn)書中有錯誤,煩請告知。請訪問 www.packtpub.com/support/errata,選定本書,點擊勘誤提交表格鏈接,填入具體信息。盜版: 如果你在互聯(lián)網(wǎng)上發(fā)現(xiàn)我們的圖書任何形式的非法拷貝,煩請告知網(wǎng)址或網(wǎng)站名。請通過 copyright@packt.com 聯(lián)系我們,并提供指向盜版材料的鏈接。如果你也想成為作者: 如果你有精通的主題而且愿意寫書或參與出書,請訪問 authors.packtp
Kirill Dubovikov擔任Cinimex DataLab的CTO。他在為俄羅斯頂級銀行設計和開發(fā)復雜軟件解決方案方面擁有10多年的經(jīng)驗,F(xiàn)在,他領導公司的數(shù)據(jù)科學部門。他的團隊為全球企業(yè)提供實用的機器學習應用程序。他們的解決方案涵蓋了廣泛的主題,例如銷售預測和倉庫計劃,用于IT支持中心的自然語言處理(NLP),算法營銷以及預測性IT運營。
目錄
前言
第一部分 什 么 是 數(shù) 據(jù) 科 學?
第 1 章 數(shù)據(jù)科學概論· 2
1.1 人工智能定義 3
1.1.1 數(shù)據(jù)科學的定義 3
1.1.2 數(shù)據(jù)科學的影響 4
1.1.3 數(shù)據(jù)科學的局限 4
1.2 機器學習導論 5
1.2.1 機器學習模型提供的決策和洞見· 5
1.2.2 機器學習模型需要的數(shù)據(jù) 6
1.2.3 機器學習的起源 7
1.2.4 機器學習剖析 7
1.2.5 機器學習可解決的任務類型 8
1.3 深度學習導論 · 11
1.3.1 自然語言理解應用· 12
1.3.2 探究計算機視覺 13
1.4 深度學習用例 · 16
1.5 因果推理導論 · 16
1.6 本章小結 · 19
第 2 章 機器學習模型測試 20
2.1 離線模型測試 · 20
2.1.1 模型誤差 20
2.1.2 誤差分解 21
2.1.3 技術度量指標 26
2.1.4 業(yè)務度量指標 32
2.2 在線模型測試 · 322.2.1 在線測試的意義 · 32
2.2.2 在線數(shù)據(jù)測試· 36
2.3 本章小結 36
第 3 章 人工智能基礎 37
3.1 理解數(shù)學優(yōu)化 37
3.2 理解統(tǒng)計學 41
3.2.1 頻率學派的概率 · 42
3.2.2 條件概率 42
3.2.3 關于概率的貝葉斯觀點 · 44
3.2.4 分布 44
3.2.5 利用數(shù)據(jù)樣本計算統(tǒng)計量 · 45
3.2.6 統(tǒng)計建模 46
3.3 機器如何學習 48
3.4 探究機器學習 52
3.4.1 機器學習簡介· 52
3.4.2 線性模型 53
3.4.3 分類與回歸樹· 53
3.4.4 集成模型 54
3.4.5 聚類模型 56
3.5 探究深度學習 58
3.5.1 建立神經(jīng)網(wǎng)絡· 61
3.5.2 計算機視覺應用 · 62
3.5.3 自然語言處理應用 · 64
3.6 本章小結 69
第二部分 項目團隊的組建與維持
第 4 章 理想的數(shù)據(jù)科學團隊 71
4.1 數(shù)據(jù)科學團隊的角色 71
4.2 探究數(shù)據(jù)科學團隊的角色及其職責 74
4.2.1 案例 1:應用機器學習防止銀行詐騙 74
4.2.2 案例 2:機器學習在零售公司的應用 75
4.2.3 數(shù)據(jù)科學家的關鍵技能 · 774.2.4 數(shù)據(jù)工程師的關鍵技能 · 78
4.2.5 數(shù)據(jù)科學項目經(jīng)理的關鍵技能 · 79
4.2.6 開發(fā)團隊的支持 80
4.3 本章小結 · 80
第 5 章 數(shù)據(jù)科學團隊招聘面試 81
5.1 技術招聘面試的通病 · 81
5.1.1 發(fā)現(xiàn)不需要的候選者· 82
5.1.2 明確面試目的 84
5.2 將價值和倫理引入面試 · 85
5.3 面試設計 · 86
5.3.1 設計測試作業(yè) 87
5.3.2 不同數(shù)據(jù)科學角色的面試 · 90
5.4 本章小結 · 92
第 6 章 組建數(shù)據(jù)科學團隊 93
6.1 鑄就團隊靈魂( Zen,禪) 93
6.2 領導力和人員管理 · 96
6.2.1 以身作則 96
6.2.2 發(fā)揮情境領導力( situational leadership) 97
6.2.3 明確任務 99
6.2.4 感情移入( empathy,共情) 100
6.3 培養(yǎng)成長型思維 101
6.3.1 團隊整體的成長 101
6.3.2 面向個體成長的持續(xù)學習 102
6.3.3 提供更多的學習機會 103
6.3.4 利用績效評價幫助員工成長 104
6.4 案例:創(chuàng)建數(shù)據(jù)科學部門 106
6.5 本章小結 108
第三部分 數(shù)據(jù)科學項目的管理
第 7 章 創(chuàng)新管理· 110
7.1 理解創(chuàng)新 110
7.2 大型組織為何屢屢失敗? 1117.2.1 市場的游戲規(guī)則 111
7.2.2 開拓新市場 112
7.3 探究創(chuàng)新管理 112
7.3.1 案例: MedVision 的創(chuàng)新周期· 114
7.3.2 集成創(chuàng)新 · 116
7.4 銷售、營銷、團隊領導方式以及技術 117
7.5 大公司的創(chuàng)新管理 119
7.5.1 大公司的創(chuàng)新管理簡介 119
7.5.2 案例:零售業(yè)務的數(shù)據(jù)科學項目 120
7.6 初創(chuàng)公司的創(chuàng)新管理 121
7.7 發(fā)現(xiàn)項目想法 122
7.7.1 從業(yè)務發(fā)現(xiàn)想法 122
7.7.2 從數(shù)據(jù)發(fā)現(xiàn)想法 123
7.8 本章小結 127
第 8 章 管理數(shù)據(jù)科學項目 128
8.1 理解數(shù)據(jù)科學項目的失敗 128
8.1.1 數(shù)據(jù)科學項目失敗的常見原因 128
8.1.2 數(shù)據(jù)科學管理方法 129
8.2 探究數(shù)據(jù)科學項目全生命周期 130
8.2.1 業(yè)務理解 · 130
8.2.2 數(shù)據(jù)理解 · 130
8.2.3 數(shù)據(jù)準備 · 131
8.2.4 建模 · 132
8.2.5 評價 · 133
8.2.6 部署 · 133
8.3 項目管理方法論的選擇 134
8.3.1 瀑布式管理 134
8.3.2 敏捷 · 135
8.3.3 Kanban · 135
8.3.4 Scrum 137
8.4 選擇適合項目的方法論 139
8.4.1 開展顛覆性創(chuàng)新 139
8.4.2 準備測試過的解決方案 1398.4.3 為客戶量身定制項目 139
8.5 估測數(shù)據(jù)科學項目 140
8.5.1 數(shù)據(jù)科學項目估測簡介 140
8.5.2 學會估測時間和成本 141
8.6 明確估測過程的目標 144
8.7 本章小結 144
第 9 章 數(shù)據(jù)科學項目的常見陷阱· 145
9.1 規(guī)避數(shù)據(jù)科學項目的常見風險 145
9.2 推進研究項目 146
9.3 實施原型和最簡可行產(chǎn)品項目 147
9.3.1 原型和最簡可行產(chǎn)品開發(fā)簡介 147
9.3.2 案例:咨詢公司的最簡可行產(chǎn)品· 148
9.4 應對實用型數(shù)據(jù)科學系統(tǒng)的風險 149
9.4.1 實用型數(shù)據(jù)科學系統(tǒng)風險及其解決方法 · 149
9.4.2 案例:將銷售預測系統(tǒng)投入應用· 151
9.5 本章小結 152
第 10 章 創(chuàng)造產(chǎn)品與提升可重用性 153
10.1 產(chǎn)品思維 153
10.2 確定項目所處階段 154
10.2.1 項目類型和所處階段的劃分 154
10.2.2 案例:服務平臺調(diào)度系統(tǒng)的開發(fā) 155
10.3 提高可重用性 156
10.4 尋找和開發(fā)產(chǎn)品 157
10.4.1 尋找和開發(fā)產(chǎn)品簡介 · 157
10.4.2 隱私問題· 158
10.5 本章小結 158
第四部分 開發(fā)基礎環(huán)境的構建
第 11 章 實施 ModelOps· 160
11.1 認識 ModelOps 160
11.2 了解 DevOps 161
11.2.1 數(shù)據(jù)科學項目基礎系統(tǒng)的特殊需求 16111.2.2 數(shù)據(jù)科學交付流程· 162
11.3 管理代碼版本和質(zhì)量 · 163
11.4 存儲數(shù)據(jù)和代碼 · 164
11.4.1 數(shù)據(jù)跟蹤與版本化· 165
11.4.2 實際的數(shù)據(jù)存儲· 165
11.5 管理環(huán)境 · 167
11.6 追蹤實驗 · 168
11.7 自動測試的重要性 · 170
11.8 代碼打包 · 171
11.9 模型的持續(xù)訓練 · 172
11.10 案例:開發(fā)預測維護系統(tǒng)的 ModelOps · 173
11.11 項目的動力源 177
11.12 本章小結 179
第 12 章 建立技術棧 180
12.1 定義技術棧的要素 · 180
12.2 核心技術與項目專用技術的選擇 · 183
12.3 比較工具與產(chǎn)品 · 184
12.3.1 如何比較不同的工具與產(chǎn)品 · 184
12.3.2 案例:物流公司的需求預測 · 185
12.4 本章小結 · 187
第 13 章 結論 188
13.1 增進知識 · 189
13.2 本章小結