本文介紹在FeatureStore如何運用自動特徵工程技術(AutoFE)產生新特徵,為使用者提供一些參考建議與啟示。通過AutoFE產生的pipeline模型,對訓練集和測試集執行特徵轉換操作,從而提升機器學習或深度學習模型的效果。
什麼是AutoFE
AutoFE(Auto Feature Engineering)指自動特徵工程,通過分析使用者輸入的資料,推薦給使用者一組特徵工程的操作。使用者可以直接使用這組操作進行特徵工程,也可以在此基礎上進一步自訂所需的處理過程。
AutoFE具體功能包括:
根據group by feature_x,group by(feature_x, feature_y)得到統計特徵,例如根據樣本按照城市統計銷量特徵,等於把城市映射為數值特徵。
分析特徵組合得到組合特徵,例如,crosscount(feature_x, feature_y)。
根據加減乘除得到衍生特徵, 例如,feature_x +-*/ feature_y。
基於決策樹類(GBDT)演算法對產生特徵(資訊價值,特徵重要性和相關性等)進行排序做特徵選取。
AutoFE使用流程
預先處理
將不同資料來源(ODPS/OSS/HDFS/本地)讀取的資料進行處理,根據具體需求和資料規模進行採樣,目前服務僅支援ODPS,單機版支援所有資料。
特徵選取
當特徵個數超過800列時,對後面特徵分析和模型訓練的效能有一定的影響,推薦使用GBDT對原始特徵做初步評估篩選。
特徵分析
對特徵進行統計分析、組合產生和用SAFE選擇,產生新的特徵集合。
統計分析:通過多個重要統計指標(均值/標準差/最大值/最小值/偏度/峰度等),對特徵資料做統計分析。
組合產生:通過訓練GBDT模型,結合樹的路徑來組合特徵,計算Information Gain Ratio進行排序,從而選出推薦的組合。
SAFE(Scalable Automatic Feature Engineering)選擇:通過分桶計算每列的Information Value,過濾過低的特徵,訓練GBDT模型,計算特徵重要性,過濾重要性過低的特徵。
更多關於SAFE的資訊,請參見SAFE。
模型訓練
基於特徵分析組建組態和資料,對pipeline流程進行訓練,產生模型用於離線上均可使用的模型。
特徵轉換
載入pipeline模型,對訓練和測試資料進行特徵轉換,產生對應的特徵工程結果。
計費說明
AutoFE本身不收費,但在進行預先處理、特徵選取、分析和模型訓練等操作時,會在MaxCompute預付費/隨用隨付Project中啟動資料計算及模型訓練任務,因此會產生MaxCompute相關的公用資源費用,計費詳情請參見MaxCompute計費概述。
前提條件
在開始執行操作前,請確認您已完成以下準備工作。
依賴產品 | 具體操作 |
雲原生MaxCompute MaxCompute | |
巨量資料開發治理平台 DataWorks |
|
人工智慧平台 PAI | |
Object Storage Service | 已開通OSS服務。 |
準備工作
同步資料表pai_online_project.finance_record
為方便實踐操作,我們已在MaxCompute可公用讀取專案pai_online_project中提前預置了類比產生的資料表,您需要在DataWorks中執行如下SQL命令,將該資料表從pai_online_project專案同步到自己的DataWorks專案中。具體操作步驟如下:
登入DataWorks控制台。
在左側導覽列單擊資料開發與治理>資料開發。
選擇已建立的DataWorks工作空間後,單擊進入資料開發。
滑鼠移至上方至建立,選擇建立節點>MaxCompute>ODPS SQL,在彈出的頁面中配置節點參數。
參數
取值建議
引擎執行個體
選擇已建立的MaxCompute引擎。
節點類型
ODPS SQL
路徑
商務程序/Workflow/MaxCompute
名稱
可自訂名稱。
單擊確認。
在建立節點地區運行以下SQL命令,將資料表從pai_online_project專案同步到自己的MaxCompute中。
CREATE TABLE IF NOT EXISTS finance_record like pai_online_project.finance_record STORED AS ALIORC LIFECYCLE 90; INSERT OVERWRITE TABLE finance_record SELECT * FROM pai_online_project.finance_record
操作步驟
進入DSW開發環境。
登入PAI控制台。
在頁面左上方,選擇DSW執行個體所在的地區。
在左側導覽列單擊工作空間列表,在工作空間列表頁面中單擊預設工作空間名稱,進入對應工作空間內。
在左側導覽列,選擇模型開發與訓練>互動式建模(DSW)。
單擊需要開啟的執行個體操作列下的開啟,進入DSW執行個體開發環境。
在Notebook頁簽的Launcher頁面,單擊快速開始地區Tool下的DSW Gallery,進入DSW Gallery頁面。
在DSW Gallery頁面中,搜尋特徵平台中使用自動特徵工程,單擊在DSW中開啟,即可自動將所需的資源和教程檔案下載至DSW執行個體中,並在下載完成後自動開啟教程檔案。
在開啟的教程檔案feature_store_with_autofe.ipynb中,您可以查看教程內容以及直接運行教程。
在教程檔案中配置參數並單擊,即可運行對應步驟的命令。當成功運行完一個命令後,再依次運行下個步驟的命令。
運行完成後,前往OSS管理主控台查看實驗結果。
OSS Bucket請參見步驟4中參數
output_config_oss_dir
對應的值。
附錄:命令列表
任務 | 參數 | 樣本 | |
建立實驗 | create | --config/-c | automl create fe -c autofe_config.ini |
斷點續跑實驗 | resume | --config/-c | automl resume fe exp123 -c autofe_config.ini |
列出實驗列表 | list | --from xxx --to xxx | automl list fe --from 20230501 --to 20230601 |
擷取某個實驗提交時候的資訊 | info <exp-id> | 無 | automl info exp123 |
擷取某個具體實驗的日誌 | log <exp-id> | 無 | automl log exp123 |
停止某個實驗 | kill <exp-id> | 無 | automl kill exp123 |
刪除某個實驗 | delete <exp-id> | 無 | automl delete exp123 |
配置 | config | 無 | 無 |
協助 | help | --help/-h | automl --help |