全部產品
Search
文件中心

Platform For AI:特徵離散

更新時間:Apr 02, 2025

特徵離散是機器學習中的一種資料預先處理技術,用於將連續特徵轉換為離散特徵。通過特定的規則或方法(如等頻、等距等),特徵離散將連續數值資料劃分為有限個不連續的區間或類別,以便於模型處理和分析。這種轉換有助於提高某些演算法的效能,特別是在處理分類問題時。

演算法說明

離散模組的功能如下:

  • 支援稠密數值類特徵離散。

  • 支援等頻離散和等距離離散等無監督離散。

    說明

    無監督離散的特徵離散預設為等距離離散。

  • 支援基於Gini增益離散和基於熵增益離散等有監督離散。

    說明

    標籤類特徵離散必須是枚舉類型STRING或BIGINT類型。

  • 有監督離散是根據熵增益不斷遍曆尋找切分斷點,已耗用時間可能比較久。切分得到的分區數不受指定的maxBins參數限制。

配置參數

方式一:可視化方式

在Designer工作流程頁面添加特徵離散組件,並在介面右側配置相關參數:

參數類型

參數

描述

欄位設定

離散的特徵

選擇需要離散的特徵。

標籤列

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

參數設定

離散方法

離散方法。取值如下:

  • Isometric Discretization(等距離散)

  • Isofrequecy Discretization(等頻離散)

  • Gini-gain-based Discretization(基於Gini增益離散)

  • Entropy-gain-based Discretization(基於熵增益離散)

推薦使用等距離散、等頻離散。基於Gini增益離散、基於熵增益離散這兩個功能可以理解為實驗性質,如果是需要WOE指標的話,可以查看分箱這個組件。

離散區間個數

離散區間的個數。取值為大於1的正整數。

執行調優

計算核心數

計算的核心數目,取值為正整數。

每個核心記憶體

每個CPU分配的記憶體大小。

方式二:PAI命令方式

使用PAI命令配置特徵離散組件參數。您可以使用SQL指令碼組件進行PAI命令調用,詳情請參見SQL指令碼

PAI -name fe_discrete_runner_1 -project algo_public
   -DdiscreteMethod=SameFrequecy
   -Dlifecycle=28
   -DmaxBins=5
   -DinputTable=pai_dense_10_1
   -DdiscreteCols=nr_employed
   -DoutputTable=pai_temp_2262_20382_1
   -DmodelTable=pai_temp_2262_20382_2;

參數

是否必選

預設值

參數描述

inputTable

輸入表的表名稱。

inputTablePartitions

輸入表的所有分區。

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

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

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

outputTable

離散後的結果表。

discreteCols

“”

選擇需要離散的特徵。如果選擇的是稀疏特徵,則系統會自動篩選。

labelCol

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

discreteMethod

Isometric Discretization

離散方法。取值如下:

  • Isometric Discretization(等距離散)

  • Isofrequecy Discretization(等頻離散)

  • Gini-gain-based Discretization(基於Gini增益離散)

  • Entropy-gain-based Discretization(基於熵增益離散)

maxBins

100

離散區間個數。取值為大於1的正整數。

lifecycle

7

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

coreNum

系統自動分配。

節點個數。與memSizePerCore參數配對使用,取值為正整數。

memSizePerCore

系統自動分配。

單個節點記憶體大小,單位為兆。取值為正整數。

樣本

  • 輸入資料

    使用 SQL產生輸入資料。

    create table if not exists pai_dense_10_1 as
    select
        nr_employed
    from bank_data limit 10;
  • 參數配置

    輸入資料為pai_dense_10_1。離散特徵選取nr_employed,離散方法選擇等距離散,離散區間個數配置為5

  • 運行結果

    nr_employed

    4.0

    3.0

    1.0

    3.0

    2.0

    4.0

    3.0

    3.0

    2.0

    3.0