【摘要】 根據業界知名分析機構的調查發現,在機器學習日常開發工作中,資料預處理和特征工程(涉及資料的分析和處理)約占工作量的60%以上,對于機器學習來說至關重要。
資料分析和處理的問題與挑戰
近年來,越來越多的企業使用機器學習技術進行智能化的決策支援。機器學習通過使用算法來識别資料中的模式,并使用這些模式建立一個可以進行預測的資料模型,這個流程通常包含資料預處理,特征工程,算法開發,模型評估等多個環節。根據業界知名分析機構的調查發現,在機器學習日常開發工作中,資料預處理和特征工程(涉及資料的分析和處理)約占工作量的60%以上,對于機器學習來說至關重要。
1.1 品質參差不齊的資料
資料品質是資料管理中的一個非常重要的問題,因為髒資料通常會導緻不精确的資料分析,進而引發不正确的業務決策。髒資料通常來源于資料錄入過程中的人工錯誤或系統資訊變化資料未及時更新的一些過期資料。多項調查顯示髒資料是資料科學家普遍面臨的障礙,毫無疑問,提供有效的資料清洗解決方案十分具有挑戰,往往需要較深的理論知識和工程經驗。
1.2 資料的可視化探索分析
相比于原始的資料,資料的可視化的圖表可以更好的提供解釋和了解。資料的可視化不僅可以提供快速清晰的資訊了解,還可以用于識别資料變化的趨勢及資料資産之間的關系和模式。雖然資料可視化十分有用,手工建構圖表往往十分耗時和繁瑣。
1.3 多樣化的特征工程
特征工程是将原始資料轉換成特征的資料處理過程,其目的是為了更好的表征資料和模型,提升模型預測和評估的精度。轉換形成的特征好壞與資料/模型密切相關,由于資料和模型的多樣性,是以很難提取出通用的特征工程技術,适用于所有的項目。資料科學家往往需要結合應用領域及資料的特點,反複不斷的疊代開發,驗證,形成特定于具體資料和模型的特征工程。
1.4 容納大規模的資料分析處理平台
随着資料規模的不斷擴大,現有的資料分析和處理能力受限于單機的記憶體容量,很難進行伸縮。如何将開發探索階段的小樣本資料分析和處理能力伸縮到産品化場景下的大資料樣本,是越來越多企業面臨的巨大的挑戰。
NAIE互動式特征工程介紹
為了應對資料分析和處理的挑戰,華為NAIE産品基于開源jupyterlab項目,沉澱内部多年的資料分析和處理經驗,打造了NAIE互動式特征工程。NAIE互動式特征工程旨在降低資料分析處理的門檻,提升資料分析處理的效率。
2.1 零編碼的資料可視化探索
資料探索部分主要包含資料的描述性統計分析,資料的可視化圖表分析,資料的特征關系分析三大部分。
通過資料的描述性統計分析可以進行資料的基礎統計量分析,資料的空值和無效值的分布分析,原始資料的表格預覽。

基礎統計量分析
資料空值無效值分布分析
原始資料線上表格預覽
通過資料的可視化圖表分析可以根據資料一鍵式生成散點圖,折線圖,直方圖,箱線圖等多種圖表,通過圖表直覺輔助分析。
可視化圖表分析
通過資料的特征關系分析可以使用卡方檢測,F檢驗,資訊增益,遞歸消除特征等多種算法進行特征選擇分析,通過ACE算法分析特征和标簽之間的非線性關系。
特征關系分析
2.2 豐富多樣的資料處理能力
NAIE互動式特征工程内置了資料采樣,資料增強,資料清洗,特征轉換,特征選擇,特征提取等常用的資料處理算子,使用者可以根據需要通過界面點選操作即可完成常用的資料處理。
通過資料采樣在不引入外部資料的情況下調整資料樣本數目和類分布。
通過資料增強引入外部資料擴充目前資料集的樣本數目或字段數目。
通過資料清洗對資料進行審查和校驗,删除重複資訊,糾正錯誤,處理無效值和缺失值,提供資料的一緻性。
通過特征轉換對現有的特征進行歸一化或編碼等變換操作,便于更好的表征學習的問題。
通過特征選擇剔除不相關或備援的特征,提高模型精度,減少模型運作時間,增強模型的可解釋性。
通過特征提取從原始資料中建構出富含資訊且不備援的特征。
2.3 可伸縮的資料處理引擎
NAIE互動式特征工程預置python3和pyspark兩種資料處理引擎,python3引擎使用開源pandas資料處理架構進行資料處理,一般用于中小規模(10G以下)的資料處理。pyspark使用開源spark大規模資料(10G-500G)處理引擎進行資料處理,通過分布式資料處理能力,支援可伸縮的大資料處理。NAIE特征工程内置的資料處理算子使用統一的對外SDK,适配不同的資料處理實作,可以滿足在探索階段使用python處理引擎,在産品階段大資料場景下代碼不做任何修改無縫适配到spark處理引擎下進行大規模可伸縮的資料處理。
NAIE互動式特征工程的應用
在日常出行時,當打開某款打車軟體的時候,輸入起始地點和結束地點,打車軟體系統會自動估算出一個價格,使用者可以根據價格選擇是否乘坐或選擇乘坐哪種類型。
車費除了依賴于乘車距離,還與乘車時間,乘車地點等多種因素有關,沒有一個精确的公式可以計算。
通過機器學習學習曆史資料訓練模型進行預測是越來越流行的做法,通常的機器學習工作流中包含資料的預處理,模型訓練,模型評估,模型部署預測等幾個環節,其中資料預處理環節對于整個過程來說至關重要,以下展示如何使用NAIE互動式特征工程進行計程車乘車記錄資料的預處理過程。
通過使用NAIE互動式特征工程,使用者可以通過界面操作一鍵式完成資料的可視化探索,了解資料的統計分布,品質情況,特征間的關系等,進而直覺的擷取資料的洞察結果。結合NAIE互動式特征工程沉澱的多種開箱即用的資料處理能力,使用者隻需要通過菜單選擇相關的資料處理算子,即可完成複雜的資料處理任務。相比于傳統的開發代碼進行資料分析和處理方式,NAIE互動式特征工程極大的降低了資料分析處理的門檻,通過複用華為工程師在此領域沉澱的專家經驗,對資料分析和處理的效率也有極大的提升。
點選這裡,了解更多精彩内容