艾輝,中國人民大學(xué)統(tǒng)計學(xué)院碩士,融 360 高 級技術(shù)經(jīng)理。主要負(fù)責(zé)機器學(xué)習(xí)產(chǎn)品的質(zhì)量保障工作,曾在餓了么公司擔(dān)任高 級技術(shù)經(jīng)理,負(fù)責(zé)用戶產(chǎn)品、新零售產(chǎn)品的質(zhì)量保障工作。有 8 年多的測試開發(fā)工作經(jīng)驗,曾多次受邀在行業(yè)技術(shù)大會( 如 MTSC、GITC、NCTS、TiD、A2M 等)上做主題分享。對大數(shù)據(jù)、機器學(xué)習(xí)測試技術(shù)有深刻的理解,并長期專注于質(zhì)量保障與工程效能研究。
陳高飛,東北大學(xué)計算機碩士,融 360 測試開發(fā)工程師。主要從事機器學(xué)習(xí)方面的測試開發(fā)工作。擅長白盒測試、大數(shù)據(jù)測試和模型測試,在工具平臺開發(fā)方面有豐富的實踐經(jīng)驗。
陳花,北京郵電大學(xué)信息通信工程學(xué)院碩士,融 360 高 級測試開發(fā)工程師。主要從事服務(wù)器端測試開發(fā)工作,主導(dǎo)過多個大型項目的測試。擅長白盒測試、安全測試、自動化測試及工具開發(fā)。
方娟紅,東北大學(xué)計算機碩士,融 360 測試開發(fā)工程師。主要從事服務(wù)器端測試開發(fā)工作。在企業(yè)級應(yīng)用的測試和開發(fā)方面有著豐富的實踐經(jīng)驗。
郭學(xué)敏,西安電子科技大學(xué)電子工程學(xué)院碩士,融 360 測試開發(fā)工程師。主要負(fù)責(zé)機器學(xué)習(xí)方面的測試開發(fā)工作,主導(dǎo)過多個大型項目的測試。擅長大數(shù)據(jù)測試、特征分析與模型評估,且在特征工程測試方面有著豐富的實踐經(jīng)驗。
郝嶸,北京信息科技大學(xué)自動化學(xué)院碩士,融 360 測試開發(fā)工程師。從事 Python 開發(fā)、機器學(xué)習(xí)測試、大數(shù)據(jù)測試工作多年,在大數(shù)據(jù)的質(zhì)量保障及測試工具開發(fā)方面有著豐富的實踐經(jīng)驗。
雷天鳴,哈爾濱理工大學(xué)計算機科學(xué)與技術(shù)系碩士,融 360 測試開發(fā)工程師。主要從事機器學(xué)習(xí)方向的測試開發(fā)工作。擅長大數(shù)據(jù)測試、特征測試及模型算法評測等,且對金融風(fēng)控業(yè)務(wù)有深刻的理解。
李曼曼,融 360 高級測試開發(fā)工程師。有近 10 年測試領(lǐng)域從業(yè)經(jīng)驗, 擅長白盒測試、性能測試、自動化測試、持續(xù)集成及工程效能。在 AI 測試方面有一定的探索實踐。
李雪,西安電子科技大學(xué)通信工程碩士,融 360 測試開發(fā)工程師。主要從事平臺及機器學(xué)習(xí)方面的測試開發(fā)工作。擅長自動化測試、性能測試及安全測試,且對特征測試分析有著豐富的實踐經(jīng)驗。
孫金娟,山西財經(jīng)大學(xué)計算機科學(xué)與技術(shù)專業(yè)學(xué)士,融 360 測試開發(fā)工程師。有近 8 年 Java 開發(fā)、測試開發(fā)工作經(jīng)驗,擅長大數(shù)據(jù)測試及工具平臺開發(fā)。
張海霞,中國人民大學(xué)統(tǒng)計學(xué)院碩士,融 360 高級測試開發(fā)工程師。有近 7 年測試領(lǐng)域從業(yè)經(jīng)驗,擅長白盒測試、性能測試及自動化測試。在測試平臺開發(fā)方面有著豐富的實踐經(jīng)驗,且對數(shù)據(jù)挖掘技術(shù)有扎實的實踐積累。
張咪,北京交通大學(xué)通信學(xué)院碩士,融 360 高級測試開發(fā)工程師。主要負(fù)責(zé)用戶產(chǎn)品的質(zhì)量保障工作。曾負(fù)責(zé)基礎(chǔ)架構(gòu)、運維自動化等方面的測試、開發(fā)工作。在自動化測試、服務(wù)穩(wěn)定性、專項測試、工程效能等方面有著豐富的實踐經(jīng)驗,且對機器學(xué)習(xí)工程技術(shù)有深刻的理解。
張朋周,中國地質(zhì)大學(xué)計算機碩士,融 360 高級測試開發(fā)工程師。曾在RAISECOM 和百度從事測試開發(fā)工作,有近 8 年的測試工作經(jīng)驗。目前主要負(fù)責(zé)機器學(xué)習(xí)方面的測試開發(fā)工作,主導(dǎo)了多個工具平臺的開發(fā),在模型評估平臺方面有著豐富的實踐經(jīng)驗。
目 錄
第 一部分 基礎(chǔ)知識
第 1 章 機器學(xué)習(xí)的發(fā)展和應(yīng)用 2
1.1 什么是機器學(xué)習(xí) 2
1.2 機器學(xué)習(xí)的發(fā)展 3
1.3 機器學(xué)習(xí)的應(yīng)用 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 其他應(yīng)用 8
1.4 本章小結(jié) 8
第 2 章 Python 編程基礎(chǔ) 9
2.1 Python 概述 9
2.2 Python 平臺搭建 9
2.2.1 Python 環(huán)境部署 9
2.2.2 Python 運行方式 12
2.3 Python 語法基礎(chǔ) 14
2.3.1 Python 編程規(guī)范 14
2.3.2 基本數(shù)據(jù)類型 15
2.3.3 Python 編程基礎(chǔ) 18
2.3.4 模塊和包 21
2.3.5 文件操作 22
2.4 本章小結(jié) 23
第 3 章 數(shù)據(jù)分析基礎(chǔ) 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ù)清洗和準(zhǔn)備 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 本章小結(jié) 77
第 4 章 機器學(xué)習(xí)基礎(chǔ) 78
4.1 機器學(xué)習(xí)簡介 78
4.1.1 機器學(xué)習(xí)中的基本概念 78
4.1.2 機器學(xué)習(xí)分類及訓(xùn)練方式 79
4.1.3 機器學(xué)習(xí)三要素 81
4.2 機器學(xué)習(xí)庫 83
4.2.1 Scikit-learn 83
4.2.2 StatsModels 87
4.3 機器學(xué)習(xí)算法 89
4.3.1 回歸算法 89
4.3.2 支持向量機 91
4.3.3 決策樹 92
4.3.4 聚類 94
4.3.5 降維 100
4.3.6 集成學(xué)習(xí) 102
4.3.7 神經(jīng)網(wǎng)絡(luò) 106
4.3.8 常用模型的特點和應(yīng)用場景 109
4.4 本章小結(jié) 111
第二部分 大數(shù)據(jù)測試
第 5 章 大數(shù)據(jù)基礎(chǔ) 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ù)倉庫的架構(gòu) 135
5.4 本章小結(jié) 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 本章小結(jié) 147
第 7 章 大數(shù)據(jù)工具實踐 148
7.1 大數(shù)據(jù)測試工具 148
7.1.1 大數(shù)據(jù)測試的痛點 148
7.1.2 大數(shù)據(jù)測試工具 easy_data_test 的設(shè)計 149
7.1.3 大數(shù)據(jù)測試工具 easy_data_test 的使用 152
7.1.4 大數(shù)據(jù)測試工具展望 157
7.2 數(shù)據(jù)質(zhì)量監(jiān)控平臺157
7.2.1 數(shù)據(jù)質(zhì)量把控環(huán)節(jié) 158
7.2.2 數(shù)據(jù)質(zhì)量評估要點 158
7.2.3 數(shù)據(jù)質(zhì)量監(jiān)控平臺設(shè)計 159
7.3 數(shù)據(jù)調(diào)度平臺 163
7.3.1 調(diào)度系統(tǒng)概述 163
7.3.2 Azkaban 概述 163
7.3.3 Azkaban 實踐 164
7.4 本章小結(jié) 168
第三部分 模型測試
第 8 章 機器學(xué)習(xí)測試基礎(chǔ) 170
8.1 機器學(xué)習(xí)生命周期 170
8.2 機器學(xué)習(xí)測試難點 173
8.3 機器學(xué)習(xí)測試重點 174
8.4 模型工程服務(wù)測試 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 測試在機器學(xué)習(xí)模型中的應(yīng)用 181
8.6 本章小結(jié) 182
第 9 章 特征專項測試 184
9.1 特征工程簡介 184
9.1.1 數(shù)據(jù)探索 184
9.1.2 數(shù)據(jù)預(yù)處理 185
9.1.3 特征構(gòu)建 190
9.1.4 特征選擇 190
9.2 特征測試方法 191
9.2.1 特征指標(biāo)分析 191
9.2.2 特征穩(wěn)定性測試 198
9.3 特征測試實踐 199
9.3.1 特征指標(biāo)分析實踐 199
9.3.2 特征可視化實踐 203
9.3.3 特征穩(wěn)定性測試實踐 207
9.3.4 特征監(jiān)控實踐 211
9.4 本章小結(jié) 212
第 10 章 模型算法評估測試 213
10.1 模型算法評估基礎(chǔ) 213
10.1.1 模型算法評估概述 213
10.1.2 樣本數(shù)據(jù)劃分策略 214
10.1.3 統(tǒng)計學(xué)指標(biāo)與統(tǒng)計圖 216
10.1.4 模型算法評估指標(biāo) 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 不同應(yīng)用場景下模型算法的評測 235
10.3.1 圖像分類應(yīng)用場景下的模型算法評測 235
10.3.2 推薦應(yīng)用場景下的模型算法評測 236
10.3.3 金融風(fēng)控應(yīng)用場景下的模型算法評測 239
10.4 本章小結(jié) 241
第四部分 模型工程
第 11 章 模型評估平臺實踐 244
11.1 模型評估平臺背景 244
11.2 模型評估平臺的設(shè)計 245
11.2.1 平臺需求分析 245
11.2.2 平臺架構(gòu)設(shè)計 246
11.3 模型評估平臺展示 253
11.3.1 模型配置規(guī)則 253
11.3.2 模型評估指標(biāo) 255
11.3.3 模型評估報告 261
11.4 模型評估平臺總結(jié) 263
11.4.1 回 顧 264
11.4.2 展 望 265
11.5 本章小結(jié) 266
第 12 章 機器學(xué)習(xí)工程技術(shù) 267
12.1 機器學(xué)習(xí)平臺概述 267
12.1.1 機器學(xué)習(xí)平臺發(fā)展歷程 267
12.1.2 主流的機器學(xué)習(xí)平臺 269
12.1.3 機器學(xué)習(xí)平臺的建設(shè) 270
12.2 數(shù)據(jù)與建模工程技術(shù) 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 模型構(gòu)建 275
12.3 模型部署工程技術(shù) 279
12.3.1 模型部署概述 279
12.3.2 模型發(fā)布方式 279
12.3.3 模型線上監(jiān)控 284
12.4 本章小結(jié) 286
第 13 章 機器學(xué)習(xí)的持續(xù)交付 287
13.1 機器學(xué)習(xí)持續(xù)交付的介紹與定義 287
13.1.1 持續(xù)交付 287
13.1.2 機器學(xué)習(xí)持續(xù)交付的定義 289
13.2 機器學(xué)習(xí)持續(xù)交付的主要挑戰(zhàn) 290
13.2.1 組織流程的挑戰(zhàn) 290
13.2.2 復(fù)雜技術(shù)的挑戰(zhàn) 292
13.3 如何構(gòu)建機器學(xué)習(xí)管道 292
13.3.1 機器學(xué)習(xí)管道概述 293
13.3.2 構(gòu)建機器學(xué)習(xí)管道 293
13.3.3 Pipeline(管道)設(shè)計的關(guān)注點 307
13.3.4 Pipeline 的技術(shù)組件 307
13.4 本章小結(jié) 309
第五部分 AI In Test
第 14 章 AI 在測試領(lǐng)域的探索與實踐 312
14.1 測試發(fā)展面臨的挑戰(zhàn) 312
14.2 AI 在測試領(lǐng)域的應(yīng)用及優(yōu)勢 313
14.3 業(yè)界智能化測試案例介紹 314
14.3.1 AI 在測試效能方面的探索 315
14.3.2 AI 在自動化測試方面的實踐 317
14.4 主流AI 測試工具簡介 320
14.5 本章小結(jié) 322
第 15 章 AI 時代測試工程師的未來 324
15.1 AI 對測試未來發(fā)展的影響 324
15.2 AI 時代測試工程師的定位 325
15.3 測試工程師的AI 學(xué)習(xí)路線 326
15.4 本章小結(jié) 328
參考文獻 329