特征工程是啥東東?為何需要實現自動化?
譯文【51CTO.com快譯】如今人工智能(AI)變得越來越普遍和必要。從防止欺詐、實時異常檢測到預測客戶流失,企業客戶每天都在尋找機器學習(ML)的新應用。ML的底層是什么?這項技術如何進行預測?使AI發揮神奇功效的秘訣又是什么?
在數據科學界,重點通常放在算法選擇和模型訓練上,這些確實很重要,但是AI/ML工作流程中最關鍵的部分不是我們如何選擇或調整算法,而是把什么輸入到AI/ML,即特征工程(Feature Engineering)。
特征工程是數據科學界的圣杯,也是決定AI/ML結果質量的最關鍵步驟。無論使用哪種算法,特征工程都決定模型性能,并影響機器學習生成有意義的見解并最終解決業務問題的能力。
特征工程簡介
特征工程是運用領域知識從原始數據中提取分析表示,使其準備用于機器學習的過程。這是開發用于預測的機器學習模型的第一步。
特征工程需要運用業務知識、數學和統計學,將數據轉換成機器學習模型可以直接使用的格式。它從散布在不同數據庫中的許多表開始,然后使用統計轉換及/或關系操作將這些表連接、聚合并合并為一個扁平表。
比如說,預測在任何一個季度可能流失的客戶意味著要確定最有可能不再與公司有業務往來的潛在客戶。你如何做出這樣的預測?我們通過查看根本原因來預測流失率。這個過程基于分析客戶行為,然后創建假設。比如說,客戶A在上個月與客戶支持部門聯系了五次——暗示客戶A在投訴,很可能流失。在另一種場景下,客戶A的產品使用量在過去兩個月可能下降了30%,這表明客戶A流失的可能性很大。特征工作的任務就是查看歷史行為,提取一些假設模式,并測試這些假設。
揭密特征工程
特征工程旨在從歷史數據中提取業務假設。涉及客戶流失等預測的業務問題是分類問題。
可以使用多種ML算法,比如經典邏輯回歸、決策樹、支持向量機、提升(boosting)和神經網絡。雖然所有這些算法都需要單個扁平矩陣作為輸入,但原始業務數據存儲在關系復雜的不同表中(比如事務、時間和地理位置等表)。
我們可以先連接兩個表,對連接表執行時間聚合,以提取時間用戶行為模式。實際的特征工程比簡單的轉換操作(比如獨熱編碼,將分類值轉換成二進制指示符以便ML算法可以利用)復雜得多。為了實現特征工程,我們編寫成百上千個類似SQL的查詢,執行大量的數據操作以及大量的統計轉換。
在機器學習環境下,如果我們知道歷史模式,可以創建假設?;谠摷僭O,我們就可以預測可能的結果——比如在特定時間段內哪些客戶可能流失。而特征工作的關鍵是找到假設的最佳組合。
特征工程至關重要,因為如果我們提供錯誤的假設作為輸入,ML無法做出準確的預測。任何提供的假設的質量對于ML模型的成功而言至關重要。從準確性和可解釋性的角度出發,特征質量至關重要。
為何特征工程需要實現自動化?
特征工程是迭代性最強、最耗時、最耗資源的過程,涉及跨學科專業知識。它需要技術知識,但更重要的是需要領域知識。
數據科學團隊構建特征的辦法是,與領域專家合作,測試假設,構建和評估ML模型,重復該過程直到結果被公司接受。由于需要深入的領域知識來生成高質量的特征,因此特征工程被廣泛認為是專家的“魔法”;即使團隊常?;?0%的精力,從原始業務數據來開發高質量的特征表,也不可能實現自動化。
特征工程自動化大有潛力改變傳統的數據科學過程。它大大降低了技術壁壘,消除了成百上千個手動的SQL查詢,即使沒有全面了解領域知識,也可以提高數據科學項目的速度。它還基于在數小時內探索數百萬個特征假設的功能,加強了我們對數據的了解,并帶來了“未知的不確定因素”。
實現特征工程自動化的AutoML 2.0
最近,ML自動化(又叫AutoML)備受關注。AutoML克服企業面臨的重大挑戰之一:AI和ML項目所花的時間很長,通常要數月才能完成,還缺少處理該問題的專業人才。
雖然目前的AutoML產品無疑在加快AI和機器學習過程中取得了重大進展,但它們未能解決最重要的步驟:從原始業務數據準備機器學習輸入的過程,即特征工程。
為了真正改變現代企業利用AI和機器學習的方式,數據科學開發的整個周期勢必需要自動化。如果數據科學自動化的核心問題是由于缺少數據科學家、業務用戶對ML了解不夠以及難以遷移到生產環境,那么AutoML也必須克服這些挑戰。
使數據和特征工程實現自動化的AutoML 2.0浮出水面,簡化特征工程自動化和ML自動化,作為單單一條流水線和一站式系統。有了AutoML 2.0,從原始數據、數據和特征工程到ML模型開發的整個周期只需要幾天而不是幾個月,團隊交付的項目會多10倍。
特征工程有助于揭示數據中的隱藏模式,基于機器學習助力預測分析。算法需要含有相關業務假設和歷史模式的高質量輸入數據,特征工程提供了這種數據。然而,它是AI/ ML工作流程中最依賴人且最耗時的部分。
AutoML 2.0簡化了特征工程自動化和ML自動化,這項新的技術突破可為企業加速和簡化AI/ML。它使BI工程師或數據工程師等更多的人能夠執行AI/ML項目,并使企業AI/ML擁有更高的擴展性和敏捷性。
原文標題:What is Feature Engineering and Why Does It Need To Be Automated?,作者:Ryohei Fujimaki
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】