1.首先從項目中找到所謂的離線數(shù)據(jù),這就要求比如我們企業(yè)有自己的數(shù)據(jù)倉庫平臺挨下,從數(shù)據(jù)倉庫平臺提取數(shù)據(jù) 進(jìn)行 聚合分析
2.將離線數(shù)據(jù)集加載到代碼中曾我,進(jìn)行 ETL 抽取 轉(zhuǎn)換 重加載埃篓,這個過程主要是數(shù)據(jù)清洗吼句,很多時候 原始數(shù)據(jù)并不符合我們數(shù)據(jù)分析的要求驾茴,不達(dá)標(biāo)盼樟,需要我們做一些預(yù)處理。
比如去除部分非相關(guān)特征標(biāo)簽 比如某一列
比如 對相關(guān)標(biāo)簽的空值處理 锈至,添加一列 FeatureMissing 空值為1晨缴,非空為0,
比如 對 相關(guān)分類標(biāo)簽 做 one-hot編碼峡捡,把分類標(biāo)簽變?yōu)閿?shù)值標(biāo)簽 (0击碗,1)(1,0)
還有對 訓(xùn)練集和 測試集的標(biāo)注们拙,還有預(yù)測標(biāo)簽column的標(biāo)注
還有對feature的統(tǒng)計分析 稍途,比如 max avg min std var count,
經(jīng)過一系列的數(shù)據(jù)清洗預(yù)處理后 生成可以被數(shù)據(jù)分析的相關(guān)數(shù)據(jù)集
3.加載 經(jīng)過ETL處理后的數(shù)據(jù)集睛竣, 選擇適當(dāng)?shù)哪P臀浚瑯?gòu)造模型參數(shù),通過配置可以迭代的模型參數(shù) 優(yōu)化調(diào)參射沟,
4.通過數(shù)據(jù)可視化分析 得到的 AUC roc recall evalution predict 數(shù)值殊者,確定參數(shù),通過降維處理 防過擬合 處理 確定最終模型验夯。
5.將習(xí)得的模型 導(dǎo)出 比如 PMML 預(yù)測領(lǐng)域模型描述文件猖吴,然后在測試環(huán)境項目中 java scala文件中對PMML文件讀取 進(jìn)行在線實時響應(yīng)預(yù)測 ,100ms響應(yīng)挥转,目前支持PMML 的有spark ml海蔽、 keras 、sklearn绑谣、 Deeplearning4j 党窜、tensorflow 、xgboost 借宵、R 幌衣、flink
6.或者通過rpc http tcp 網(wǎng)絡(luò)通信調(diào)用,由測試環(huán)境的后端 項目向 python或者R環(huán)境中的模型發(fā)起調(diào)用壤玫,響應(yīng)速度較pmml 調(diào)用差豁护,并且 并發(fā)性能有限。
7.通過A/B 測試后欲间,確定最終模型 由后端完成相關(guān)wrap代碼實現(xiàn) 并部署在生產(chǎn)環(huán)境下 熱啟動上線