本文介紹在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 | |
大數據開發治理平臺 DataWorks |
|
人工智能平臺 PAI | |
對象存儲 OSS | 已開通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 |