全部產品
Search
文件中心

Platform For AI:特徵異常平滑

更新時間:Jul 13, 2024

特徵平滑組件可以將輸入特徵中包含異常的資料平滑到一定區間,支援稀疏和稠密資料格式。

背景資訊

平滑方法如下:

  • ZScore平滑

    如果特徵分布遵循常態分佈,則噪音一般集中在-3×alpha3×alpha之外,ZScore是將該範圍的資料平滑到[-3×alpha,3×alpha]之間。

    例如,某個特徵遵循常態分佈,均值為0,標準差為3。因此,-10的特徵值會被識別為異常而修正為-3×3+0,即為-9。同理10會被修正為3×3+0,即為9

  • 百分位平滑

    用於將分布不在[minPer, maxPer]的資料平滑到minPermaxPer這兩個分位點。

    例如,age特徵取值0~200,設定minPer0maxPer50%,則不在0~100的特徵取值都會被修正成0100

  • 閾值平滑

    用於將分布不在[minThresh, maxThresh]的資料平滑到minThreshmaxThresh這兩個資料點。

    例如,age特徵取值0~200,設定minThresh10maxThresh80,則不在0~80的特徵取值都會被修正成080

  • 盒狀圖平滑

    通過資料的4分位線構造光滑的上下界閾值,構造方式為:minThresh=q1-1.5(q3-q1)maxThresh=q3+1.5(q3-q1)

說明

特徵平滑演算法組件只是將異常取值的特徵值修正為正常值,本身不過濾或刪除任何記錄,輸入資料維度和條數均不變。

組件配置

您可以使用以下任意一種方式,配置特徵異常平滑組件參數。

方式一:可視化方式

Designer工作流程頁面配置組件參數。

頁簽

參數

描述

欄位設定

選擇平滑特徵列

需要平滑處理的特徵列。

標籤列

如果您設定了該欄位,則可以通過可視化方式查看特徵到目標變數的x-y分布長條圖。

參數設定

平滑方法

平滑方法如下:

  • ZScore平滑

  • 百分位平滑

  • 閾值平滑

  • 盒狀圖平滑

置信範圍

置信水平。當平滑方法為ZScore平滑時需要配置該參數。

閾值下限

閾值最小值,預設為-9999,表示不設定。

當平滑方法為閾值平滑時需要配置該參數。

閾值上限

閾值最大值,預設為-9999,表示不設定。

當平滑方法為閾值平滑時需要配置該參數。

百分位下限

最低百分位。

當平滑方法為百分位平滑盒狀圖平滑時需要配置該參數。

百分位上限

最高百分位。

當平滑方法為百分位平滑盒狀圖平滑時需要配置該參數。

方式二:PAI命令方式

使用PAI命令方式,配置該組件參數。您可以使用SQL指令碼組件進行PAI命令調用,詳情請參見SQL指令碼

PAI -name fe_soften_runner -project algo_public
    -DminThresh=5000
    -Dlifecycle=28
    -DsoftenMethod=min-max-thresh
    -DsoftenCols=nr_employed
    -DmaxThresh=6000
    -DinputTable=pai_dense_10_1
    -DoutputTable=pai_temp_2262_20381_1;

參數名稱

是否必選

參數描述

預設值

inputTable

輸入表的表名

inputTablePartitions

輸入表中指定參與訓練的分區,格式為Partition_name=value

如果是多級分區,格式為name1=value1/name2=value2;

如果指定多個分區,則需要使用,隔開。

輸入表的所有分區。

outputTable

平滑後的結果表。

labelCol

標籤欄位。如果您設定了該欄位,則可以通過可視化方式查看特徵到目標變數的x-y分布長條圖。

預設為空白

categoryCols

將勾選的欄位作為枚舉特徵處理。

預設為空白

softenCols

選擇需要平滑的特徵。如果特徵為稀疏特徵時,系統會自動化篩選。

softenMethod

平滑方法如下:

  • ZScore:ZScore平滑

  • min-max-per:百分位平滑

  • min-max-thresh:閾值平滑

  • boxplot:盒狀圖平滑

ZScore

softenTopN

當未勾選softenCols參數時,系統自動挑選TopN個需要平滑的特徵。取值為正整數。

10

cl

置信水平。當平滑方法為ZScore平滑時需要配置該參數。

10

minPer

最低百分位。當平滑方法為百分位平滑盒狀圖平滑時需要配置該參數。

0.0

maxPer

最高百分位。當平滑方法為百分位平滑盒狀圖平滑時需要配置該參數。

1.0

minThresh

閾值最小值。當平滑方法為閾值平滑時需要配置該參數。

-9999

maxThresh

閾值最大值。當平滑方法為閾值平滑時需要配置該參數。

-9999

isSparse

是否為k:v的稀疏特徵,取值如下:

  • true

  • false

預設為稠密資料。

false

itemSpliter

稀疏特徵item的分隔字元。

,

kvSpliter

稀疏特徵item的分隔字元。

lifecycle

結果表生命週期。取值為正整數。

7

coreNum

節點個數。與memSizePerCore參數配對使用,取值為[1, 9999]的正整數。

系統自動分配。

memSizePerCore

單個節點記憶體大小,單位為兆。取值為[2048, 64 *1024]的正整數。

系統自動分配。

樣本

  • 輸入資料

    create table if not exists pai_dense_10_1 as
    select
        nr_employed
    from bank_data limit 10;

    nr_employed

    5228.1

    5195.8

    4991.6

    5099.1

    5076.2

    5228.1

    5099.1

    5099.1

    5076.2

    5099.1

  • 參數配置

    平滑特徵選擇nr_employed參數設定平滑方法選擇閾值平滑閾值下限5000閾值上限6000,如下圖所示。平滑特徵

  • 運行結果

    nr_employed

    5228.1

    5195.8

    5000.0

    5099.1

    5076.2

    5228.1

    5099.1

    5099.1

    5076.2

    5099.1