全部產品
Search
文件中心

Platform For AI:在FeatureStore中使用自動特徵工程(AutoFE)

更新時間:Nov 14, 2024

本文介紹在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使用流程

  1. 預先處理

    將不同資料來源(ODPS/OSS/HDFS/本地)讀取的資料進行處理,根據具體需求和資料規模進行採樣,目前服務僅支援ODPS,單機版支援所有資料。

  2. 特徵選取

    當特徵個數超過800列時,對後面特徵分析和模型訓練的效能有一定的影響,推薦使用GBDT對原始特徵做初步評估篩選。

  3. 特徵分析

    對特徵進行統計分析、組合產生和用SAFE選擇,產生新的特徵集合。

    • 統計分析:通過多個重要統計指標(均值/標準差/最大值/最小值/偏度/峰度等),對特徵資料做統計分析。

    • 組合產生:通過訓練GBDT模型,結合樹的路徑來組合特徵,計算Information Gain Ratio進行排序,從而選出推薦的組合。

    • SAFE(Scalable Automatic Feature Engineering)選擇:通過分桶計算每列的Information Value,過濾過低的特徵,訓練GBDT模型,計算特徵重要性,過濾重要性過低的特徵。

      更多關於SAFE的資訊,請參見SAFE

  4. 模型訓練

    基於特徵分析組建組態和資料,對pipeline流程進行訓練,產生模型用於離線上均可使用的模型。

  5. 特徵轉換

    載入pipeline模型,對訓練和測試資料進行特徵轉換,產生對應的特徵工程結果。

計費說明

AutoFE本身不收費,但在進行預先處理、特徵選取、分析和模型訓練等操作時,會在MaxCompute預付費/隨用隨付Project中啟動資料計算及模型訓練任務,因此會產生MaxCompute相關的公用資源費用,計費詳情請參見MaxCompute計費概述

前提條件

在開始執行操作前,請確認您已完成以下準備工作。

依賴產品

具體操作

雲原生MaxCompute MaxCompute

巨量資料開發治理平台 DataWorks

人工智慧平台 PAI

開通PAI並建立預設工作空間

Object Storage Service

開通OSS服務

準備工作

同步資料表pai_online_project.finance_record

為方便實踐操作,我們已在MaxCompute可公用讀取專案pai_online_project中提前預置了類比產生的資料表,您需要在DataWorks中執行如下SQL命令,將該資料表從pai_online_project專案同步到自己的DataWorks專案中。具體操作步驟如下:

  1. 登入DataWorks控制台

  2. 在左側導覽列單擊資料開發與治理>資料開發

  3. 選擇已建立的DataWorks工作空間後,單擊進入資料開發

  4. 滑鼠移至上方至建立,選擇建立節點>MaxCompute>ODPS SQL,在彈出的頁面中配置節點參數。

    參數

    取值建議

    引擎執行個體

    選擇已建立的MaxCompute引擎。

    節點類型

    ODPS SQL

    路徑

    商務程序/Workflow/MaxCompute

    名稱

    可自訂名稱。

  5. 單擊確認

  6. 在建立節點地區運行以下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

操作步驟

  1. 進入DSW開發環境。

    1. 登入PAI控制台

    2. 在頁面左上方,選擇DSW執行個體所在的地區。

    3. 在左側導覽列單擊工作空間列表,在工作空間列表頁面中單擊預設工作空間名稱,進入對應工作空間內。

    4. 在左側導覽列,選擇模型開發與訓練>互動式建模(DSW)

    5. 單擊需要開啟的執行個體操作列下的開啟,進入DSW執行個體開發環境。

  2. Notebook頁簽的Launcher頁面,單擊快速開始地區Tool下的DSW Gallery,進入DSW Gallery頁面。

    image

  3. 在DSW Gallery頁面中,搜尋特徵平台中使用自動特徵工程,單擊在DSW中開啟,即可自動將所需的資源和教程檔案下載至DSW執行個體中,並在下載完成後自動開啟教程檔案。

    image

  4. 在開啟的教程檔案feature_store_with_autofe.ipynb中,您可以查看教程內容以及直接運行教程。

    在教程檔案中配置參數並單擊image,即可運行對應步驟的命令。當成功運行完一個命令後,再依次運行下個步驟的命令。

    image

  5. 運行完成後,前往OSS管理主控台查看實驗結果。

    OSS Bucket請參見步驟4中參數output_config_oss_dir對應的值。

    image

附錄:命令列表

任務

參數

樣本

建立實驗

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