艾輝,中國人民大學統(tǒng)計學院碩士,融 360 高 級技術經(jīng)理。主要負責機器學習產品的質量保障工作,曾在餓了么公司擔任高 級技術經(jīng)理,負責用戶產品、新零售產品的質量保障工作。有 8 年多的測試開發(fā)工作經(jīng)驗,曾多次受邀在行業(yè)技術大會( 如 MTSC、GITC、NCTS、TiD、A2M 等)上做主題分享。對大數(shù)據(jù)、機器學習測試技術有深刻的理解,并長期專注于質量保障與工程效能研究。
陳高飛,東北大學計算機碩士,融 360 測試開發(fā)工程師。主要從事機器學習方面的測試開發(fā)工作。擅長白盒測試、大數(shù)據(jù)測試和模型測試,在工具平臺開發(fā)方面有豐富的實踐經(jīng)驗。
陳花,北京郵電大學信息通信工程學院碩士,融 360 高 級測試開發(fā)工程師。主要從事服務器端測試開發(fā)工作,主導過多個大型項目的測試。擅長白盒測試、安全測試、自動化測試及工具開發(fā)。
方娟紅,東北大學計算機碩士,融 360 測試開發(fā)工程師。主要從事服務器端測試開發(fā)工作。在企業(yè)級應用的測試和開發(fā)方面有著豐富的實踐經(jīng)驗。
郭學敏,西安電子科技大學電子工程學院碩士,融 360 測試開發(fā)工程師。主要負責機器學習方面的測試開發(fā)工作,主導過多個大型項目的測試。擅長大數(shù)據(jù)測試、特征分析與模型評估,且在特征工程測試方面有著豐富的實踐經(jīng)驗。
郝嶸,北京信息科技大學自動化學院碩士,融 360 測試開發(fā)工程師。從事 Python 開發(fā)、機器學習測試、大數(shù)據(jù)測試工作多年,在大數(shù)據(jù)的質量保障及測試工具開發(fā)方面有著豐富的實踐經(jīng)驗。
雷天鳴,哈爾濱理工大學計算機科學與技術系碩士,融 360 測試開發(fā)工程師。主要從事機器學習方向的測試開發(fā)工作。擅長大數(shù)據(jù)測試、特征測試及模型算法評測等,且對金融風控業(yè)務有深刻的理解。
李曼曼,融 360 高級測試開發(fā)工程師。有近 10 年測試領域從業(yè)經(jīng)驗, 擅長白盒測試、性能測試、自動化測試、持續(xù)集成及工程效能。在 AI 測試方面有一定的探索實踐。
李雪,西安電子科技大學通信工程碩士,融 360 測試開發(fā)工程師。主要從事平臺及機器學習方面的測試開發(fā)工作。擅長自動化測試、性能測試及安全測試,且對特征測試分析有著豐富的實踐經(jīng)驗。
孫金娟,山西財經(jīng)大學計算機科學與技術專業(yè)學士,融 360 測試開發(fā)工程師。有近 8 年 Java 開發(fā)、測試開發(fā)工作經(jīng)驗,擅長大數(shù)據(jù)測試及工具平臺開發(fā)。
張海霞,中國人民大學統(tǒng)計學院碩士,融 360 高級測試開發(fā)工程師。有近 7 年測試領域從業(yè)經(jīng)驗,擅長白盒測試、性能測試及自動化測試。在測試平臺開發(fā)方面有著豐富的實踐經(jīng)驗,且對數(shù)據(jù)挖掘技術有扎實的實踐積累。
張咪,北京交通大學通信學院碩士,融 360 高級測試開發(fā)工程師。主要負責用戶產品的質量保障工作。曾負責基礎架構、運維自動化等方面的測試、開發(fā)工作。在自動化測試、服務穩(wěn)定性、專項測試、工程效能等方面有著豐富的實踐經(jīng)驗,且對機器學習工程技術有深刻的理解。
張朋周,中國地質大學計算機碩士,融 360 高級測試開發(fā)工程師。曾在RAISECOM 和百度從事測試開發(fā)工作,有近 8 年的測試工作經(jīng)驗。目前主要負責機器學習方面的測試開發(fā)工作,主導了多個工具平臺的開發(fā),在模型評估平臺方面有著豐富的實踐經(jīng)驗。
目 錄
第 一部分 基礎知識
第 1 章 機器學習的發(fā)展和應用 2
1.1 什么是機器學習 2
1.2 機器學習的發(fā)展 3
1.3 機器學習的應用 5
1.3.1 數(shù)據(jù)挖掘 5
1.3.2 人臉檢測 6
1.3.3 人機對弈 7
1.3.4 機器翻譯 7
1.3.5 自動駕駛 7
1.3.6 其他應用 8
1.4 本章小結 8
第 2 章 Python 編程基礎 9
2.1 Python 概述 9
2.2 Python 平臺搭建 9
2.2.1 Python 環(huán)境部署 9
2.2.2 Python 運行方式 12
2.3 Python 語法基礎 14
2.3.1 Python 編程規(guī)范 14
2.3.2 基本數(shù)據(jù)類型 15
2.3.3 Python 編程基礎 18
2.3.4 模塊和包 21
2.3.5 文件操作 22
2.4 本章小結 23
第 3 章 數(shù)據(jù)分析基礎 24
3.1 數(shù)據(jù)分析概述 24
3.1.1 什么是數(shù)據(jù)分析 24
3.1.2 數(shù)據(jù)分析的步驟 24
3.1.3 常用的數(shù)據(jù)分析策略 26
3.1.4 數(shù)據(jù)分析方法 27
3.1.5 數(shù)據(jù)分析工具 28
3.2 Python 中常用的數(shù)據(jù)分析庫 29
3.2.1 Numpy 29
3.2.2 Pandas 33
3.2.3 Matplotlib 37
3.2.4 SciPy 39
3.3 利用 Python 進行數(shù)據(jù)分析 42
3.3.1 數(shù)據(jù)加載、存儲 42
3.3.2 數(shù)據(jù)清洗和準備 46
3.3.3 數(shù)據(jù)規(guī)整 54
3.3.4 數(shù)據(jù)可視化 61
3.3.5 數(shù)據(jù)分組和聚合 64
3.3.6 數(shù)據(jù)分析案例 70
3.4 本章小結 77
第 4 章 機器學習基礎 78
4.1 機器學習簡介 78
4.1.1 機器學習中的基本概念 78
4.1.2 機器學習分類及訓練方式 79
4.1.3 機器學習三要素 81
4.2 機器學習庫 83
4.2.1 Scikit-learn 83
4.2.2 StatsModels 87
4.3 機器學習算法 89
4.3.1 回歸算法 89
4.3.2 支持向量機 91
4.3.3 決策樹 92
4.3.4 聚類 94
4.3.5 降維 100
4.3.6 集成學習 102
4.3.7 神經(jīng)網(wǎng)絡 106
4.3.8 常用模型的特點和應用場景 109
4.4 本章小結 111
第二部分 大數(shù)據(jù)測試
第 5 章 大數(shù)據(jù)基礎 114
5.1 什么是大數(shù)據(jù) 114
5.2 Hadoop 生態(tài)系統(tǒng) 115
5.2.1 HDFS 116
5.2.2 MapReduce 118
5.2.3 Hive 121
5.2.4 HBase 124
5.2.5 Storm、Spark 和 Flink 131
5.3 數(shù)據(jù)倉庫與 ETL 流程 133
5.3.1 什么是 ETL 133
5.3.2 什么是數(shù)據(jù)倉庫 134
5.3.3 數(shù)據(jù)倉庫的架構 135
5.4 本章小結 136
第 6 章 大數(shù)據(jù)測試指南 137
6.1 大數(shù)據(jù)測試概述 137
6.1.1 什么是大數(shù)據(jù)測試 137
6.1.2 大數(shù)據(jù)測試與傳統(tǒng)數(shù)據(jù)測試差異 138
6.2 大數(shù)據(jù) ETL 測試 139
6.2.1 ETL 測試流程 139
6.2.2 ETL 測試方法 140
6.2.3 ETL 測試場景 143
6.3 本章小結 147
第 7 章 大數(shù)據(jù)工具實踐 148
7.1 大數(shù)據(jù)測試工具 148
7.1.1 大數(shù)據(jù)測試的痛點 148
7.1.2 大數(shù)據(jù)測試工具 easy_data_test 的設計 149
7.1.3 大數(shù)據(jù)測試工具 easy_data_test 的使用 152
7.1.4 大數(shù)據(jù)測試工具展望 157
7.2 數(shù)據(jù)質量監(jiān)控平臺157
7.2.1 數(shù)據(jù)質量把控環(huán)節(jié) 158
7.2.2 數(shù)據(jù)質量評估要點 158
7.2.3 數(shù)據(jù)質量監(jiān)控平臺設計 159
7.3 數(shù)據(jù)調度平臺 163
7.3.1 調度系統(tǒng)概述 163
7.3.2 Azkaban 概述 163
7.3.3 Azkaban 實踐 164
7.4 本章小結 168
第三部分 模型測試
第 8 章 機器學習測試基礎 170
8.1 機器學習生命周期 170
8.2 機器學習測試難點 173
8.3 機器學習測試重點 174
8.4 模型工程服務測試 176
8.4.1 單元測試 177
8.4.2 集成測試 178
8.4.3 系統(tǒng)測試 179
8.5 A/B 測 試 180
8.5.1 A/B 測 試 180
8.5.2 做 A/B 測試的原因 181
8.5.3 A/B 測試在機器學習模型中的應用 181
8.6 本章小結 182
第 9 章 特征專項測試 184
9.1 特征工程簡介 184
9.1.1 數(shù)據(jù)探索 184
9.1.2 數(shù)據(jù)預處理 185
9.1.3 特征構建 190
9.1.4 特征選擇 190
9.2 特征測試方法 191
9.2.1 特征指標分析 191
9.2.2 特征穩(wěn)定性測試 198
9.3 特征測試實踐 199
9.3.1 特征指標分析實踐 199
9.3.2 特征可視化實踐 203
9.3.3 特征穩(wěn)定性測試實踐 207
9.3.4 特征監(jiān)控實踐 211
9.4 本章小結 212
第 10 章 模型算法評估測試 213
10.1 模型算法評估基礎 213
10.1.1 模型算法評估概述 213
10.1.2 樣本數(shù)據(jù)劃分策略 214
10.1.3 統(tǒng)計學指標與統(tǒng)計圖 216
10.1.4 模型算法評估指標 217
10.2 模型算法的測試方法 223
10.2.1 模型蛻變測試 223
10.2.2 模型模糊測試 226
10.2.3 模型魯棒性測試 227
10.2.4 模型安全測試 229
10.2.5 模型可解釋性測試 230
10.2.6 模型在線測試 233
10.2.7 模型監(jiān)控與迭代 234
10.3 不同應用場景下模型算法的評測 235
10.3.1 圖像分類應用場景下的模型算法評測 235
10.3.2 推薦應用場景下的模型算法評測 236
10.3.3 金融風控應用場景下的模型算法評測 239
10.4 本章小結 241
第四部分 模型工程
第 11 章 模型評估平臺實踐 244
11.1 模型評估平臺背景 244
11.2 模型評估平臺的設計 245
11.2.1 平臺需求分析 245
11.2.2 平臺架構設計 246
11.3 模型評估平臺展示 253
11.3.1 模型配置規(guī)則 253
11.3.2 模型評估指標 255
11.3.3 模型評估報告 261
11.4 模型評估平臺總結 263
11.4.1 回 顧 264
11.4.2 展 望 265
11.5 本章小結 266
第 12 章 機器學習工程技術 267
12.1 機器學習平臺概述 267
12.1.1 機器學習平臺發(fā)展歷程 267
12.1.2 主流的機器學習平臺 269
12.1.3 機器學習平臺的建設 270
12.2 數(shù)據(jù)與建模工程技術 272
12.2.1 數(shù)據(jù)采集 272
12.2.2 數(shù)據(jù)存儲 272
12.2.3 數(shù)據(jù)加工 273
12.2.4 樣本數(shù)據(jù) 274
12.2.5 特征工程 275
12.2.6 模型構建 275
12.3 模型部署工程技術 279
12.3.1 模型部署概述 279
12.3.2 模型發(fā)布方式 279
12.3.3 模型線上監(jiān)控 284
12.4 本章小結 286
第 13 章 機器學習的持續(xù)交付 287
13.1 機器學習持續(xù)交付的介紹與定義 287
13.1.1 持續(xù)交付 287
13.1.2 機器學習持續(xù)交付的定義 289
13.2 機器學習持續(xù)交付的主要挑戰(zhàn) 290
13.2.1 組織流程的挑戰(zhàn) 290
13.2.2 復雜技術的挑戰(zhàn) 292
13.3 如何構建機器學習管道 292
13.3.1 機器學習管道概述 293
13.3.2 構建機器學習管道 293
13.3.3 Pipeline(管道)設計的關注點 307
13.3.4 Pipeline 的技術組件 307
13.4 本章小結 309
第五部分 AI In Test
第 14 章 AI 在測試領域的探索與實踐 312
14.1 測試發(fā)展面臨的挑戰(zhàn) 312
14.2 AI 在測試領域的應用及優(yōu)勢 313
14.3 業(yè)界智能化測試案例介紹 314
14.3.1 AI 在測試效能方面的探索 315
14.3.2 AI 在自動化測試方面的實踐 317
14.4 主流AI 測試工具簡介 320
14.5 本章小結 322
第 15 章 AI 時代測試工程師的未來 324
15.1 AI 對測試未來發(fā)展的影響 324
15.2 AI 時代測試工程師的定位 325
15.3 測試工程師的AI 學習路線 326
15.4 本章小結 328
參考文獻 329