全部產品
Search
文件中心

Platform For AI:線性支援向量機

更新時間:Jul 13, 2024

支援向量機SVM(Support Vector Machine)是基於統計學習理論的一種機器學習方法,通過尋求結構風險最小化,提高學習機泛化能力,從而實現經驗風險和置信範圍最小化。本文介紹線性支援向量機演算法組件的配置方法及使用樣本。

背景資訊

本文中的線性支援向量機演算法不通過核函數方式實現,具體實現理論請參見演算法原理中的Trust Region Method for L2-SVM部分。

使用限制

線性支援向量機演算法組件僅支援二分類情境。

組件配置

您可以使用以下任意一種方式,配置線性支援向量機組件參數。

方式一:可視化方式

  • 輸入框

    線性支援向量機演算法組件僅一個輸入樁,需要接入讀資料表組件,為必選項。

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

    頁簽

    參數

    是否必選

    描述

    欄位設定

    特徵列

    輸入列,根據輸入資料表的特徵選取特徵列,支援BIGINT和DOUBLE類型的資料。

    標籤列

    根據輸入資料表的特徵選取標籤列,支援BIGINT、DOUBLE及STRING類型。

    參數設定

    正樣本的標籤值

    目標基準值。如果未指定,則系統隨機選定。如果正負例樣本差異大,建議手動指定。

    正例懲罰因子

    正例權重值。預設值為1.0,取值範圍為(0, +∞)

    負例懲罰因子

    負例權重值。預設值為1.0,取值範圍為(0, +∞)

    收斂係數

    收斂誤差。預設值為0.001,取值範圍為(0, 1)

    執行調優

    計算的核心數

    如果未配置,則系統自動分配。

    每個核心的記憶體

    如果未配置,則系統自動分配。單位為MB。

  • 輸出樁

    輸出OfflineModel格式的二分類模型,下遊可以接“預測”組件。

方式二:PAI命令方式

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

PAI -name LinearSVM -project algo_public
    -DinputTableName="bank_data"
    -DmodelName="xlab_m_LinearSVM_6143"
    -DfeatureColNames="pdays,emp_var_rate,cons_conf_idx"
    -DlabelColName="y"
    -DpositiveLabel="0"
    -DpositiveCost="1.0"
    -DnegativeCost="1.0"
    -Depsilon="0.001";

PAI命令中的參數詳情如下表所示。

參數名稱

是否必選

描述

預設值

inputTableName

輸入表的名稱。

inputTableParitions

輸入表中,參與訓練的分區。系統支援以下格式:

  • Partition_name=value

  • name1=value1/name2=value2:多級分區

說明

指定多個分區時,分區之間使用英文逗號(,)分隔。

輸入表的所有分區

modelName

輸出的模型名稱。

featureColNames

輸入表中,用於訓練的特徵列名。

labelColName

輸入表中,標籤列的名稱。

positiveLabel

正例的值。

label取值中,隨機播放一個。

positiveCost

正例權重值,即正例懲罰因子。取值範圍為(0, +∞)

1.0

negativeCost

負例權重值,即負例懲罰因子。取值範圍為(0, +∞)

1.0

epsilon

收斂係數,取值範圍為(0,1)

0.001

enableSparse

輸入資料是否為稀疏格式,取值為truefalse

false

itemDelimiter

當輸入表資料為稀疏格式時,KV對之間的分隔字元。

英文逗號(,)

kvDelimiter

當輸入表資料為稀疏格式時,keyvalue之間的分隔字元。

英文冒號(:)

coreNum

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

系統自動分配

memSizePerCore

每個核心的記憶體,取值範圍為1 MB~65536 MB。

系統自動分配

樣本

  1. 匯入如下訓練資料。

    id

    y

    f0

    f1

    f2

    f3

    f4

    f5

    f6

    f7

    1

    -1

    -0.294118

    0.487437

    0.180328

    -0.292929

    -1

    0.00149028

    -0.53117

    -0.0333333

    2

    +1

    -0.882353

    -0.145729

    0.0819672

    -0.414141

    -1

    -0.207153

    -0.766866

    -0.666667

    3

    -1

    -0.0588235

    0.839196

    0.0491803

    -1

    -1

    -0.305514

    -0.492741

    -0.633333

    4

    +1

    -0.882353

    -0.105528

    0.0819672

    -0.535354

    -0.777778

    -0.162444

    -0.923997

    -1

    5

    -1

    -1

    0.376884

    -0.344262

    -0.292929

    -0.602837

    0.28465

    0.887276

    -0.6

    6

    +1

    -0.411765

    0.165829

    0.213115

    -1

    -1

    -0.23696

    -0.894962

    -0.7

    7

    -1

    -0.647059

    -0.21608

    -0.180328

    -0.353535

    -0.791962

    -0.0760059

    -0.854825

    -0.833333

    8

    +1

    0.176471

    0.155779

    -1

    -1

    -1

    0.052161

    -0.952178

    -0.733333

    9

    -1

    -0.764706

    0.979899

    0.147541

    -0.0909091

    0.283688

    -0.0909091

    -0.931682

    0.0666667

    10

    -1

    -0.0588235

    0.256281

    0.57377

    -1

    -1

    -1

    -0.868488

    0.1

  2. 匯入如下測試資料。

    id

    y

    f0

    f1

    f2

    f3

    f4

    f5

    f6

    f7

    1

    +1

    -0.882353

    0.0854271

    0.442623

    -0.616162

    -1

    -0.19225

    -0.725021

    -0.9

    2

    +1

    -0.294118

    -0.0351759

    -1

    -1

    -1

    -0.293592

    -0.904355

    -0.766667

    3

    +1

    -0.882353

    0.246231

    0.213115

    -0.272727

    -1

    -0.171386

    -0.981213

    -0.7

    4

    -1

    -0.176471

    0.507538

    0.278689

    -0.414141

    -0.702128

    0.0491804

    -0.475662

    0.1

    5

    -1

    -0.529412

    0.839196

    -1

    -1

    -1

    -0.153502

    -0.885568

    -0.5

    6

    +1

    -0.882353

    0.246231

    -0.0163934

    -0.353535

    -1

    0.0670641

    -0.627669

    -1

    7

    -1

    -0.882353

    0.819095

    0.278689

    -0.151515

    -0.307329

    0.19225

    0.00768574

    -0.966667

    8

    +1

    -0.882353

    -0.0753769

    0.0163934

    -0.494949

    -0.903073

    -0.418778

    -0.654996

    -0.866667

    9

    +1

    -1

    0.527638

    0.344262

    -0.212121

    -0.356974

    0.23696

    -0.836038

    -0.8

    10

    +1

    -0.882353

    0.115578

    0.0163934

    -0.737374

    -0.56974

    -0.28465

    -0.948762

    -0.933333

  3. 建立如下實驗,詳情請參見演算法建模

    image.png

  4. 配置線性支援向量機組件的參數(配置如下表格中的參數,其餘參數使用預設值)。

    頁簽

    參數

    描述

    欄位設定

    特徵列

    選擇f0f1f2f3f4f5f6f7列。

    標籤列

    選擇y列。

  5. 運行實驗,查看預測結果。預測結果