日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

PS-SMART二分類訓練

參數服務器PS(Parameter Server)致力于解決大規模的離線及在線訓練任務,SMART(Scalable Multiple Additive Regression Tree)是GBDT(Gradient Boosting Decision Tree)基于PS實現的迭代算法。PS-SMART支持百億樣本及幾十萬特征的訓練任務,可以在上千節點中運行。同時,PS-SMART支持多種數據格式及直方圖近似等優化技術。

使用限制

支持的計算引擎為MaxCompute。

使用說明

  • PS-SMART二分類訓練組件的目標列僅支持數值類型,且0表示負例,1表示正例。如果MaxCompute表數據是STRING類型,則需要進行類型轉換。例如,分類目標是Good/Bad字符串,需要轉換為1/0

  • 如果數據是KV格式,則特征ID必須為正整數,特征值必須為實數。如果特征ID為字符串類型,則需要使用序列化組件進行序列化。如果特征值為類別型字符串,需要進行特征離散化等特征工程處理。

  • 雖然PS-SMART二分類訓練組件支持數十萬特征任務,但是消耗資源大且運行速度慢,可以使用GBDT類算法進行訓練。GBDT類算法適合直接使用連續特征進行訓練,除需要對類別特征進行One-Hot編碼(篩除低頻特征)以外,不建議對其他連續型數值特征進行離散化。

  • PS-SMART算法會引入隨機性。例如,data_sample_ratiofea_sample_ratio表示的數據和特征采樣、算法使用的直方圖近似優化及局部Sketch歸并為全局Sketch的順序隨機性。雖然多個worker分布式執行時,樹結構不同,但是從理論上可以保證模型效果相近。如果您在訓練過程中,使用相同數據和參數,多次得到的結果不一致,屬于正常現象。

  • 如果需要加速訓練,可以增大計算核心數。因為PS-SMART算法需要所有服務器獲得資源后,才能開始訓練,所以集群忙碌時,申請較多資源會增加等待時間。

組件配置

您可以使用以下任意一種方式,配置PS-SMART二分類組件參數。

方式一:可視化方式

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

頁簽

參數

描述

字段設置

是否稀疏格式

稀疏格式的KV之間使用空格分隔,keyvalue之間使用英文冒號(:)分隔。例如1:0.3 3:0.9

選擇特征列

輸入表中,用于訓練的特征列。如果輸入數據是Dense格式,則只能選擇數值(BIGINTDOUBLE)類型。如果輸入數據是Sparse KV格式,且keyvalue是數值類型,則只能選擇STRING類型。

選擇標簽列

輸入表的標簽列,支持STRING及數值類型。但列存儲內容僅支持數值類型,例如二分類中的01

選擇權重列

列可以對每行樣本進行加權,支持數值類型。

參數設置

評估指標類型

支持以下幾種類型:

  • negative loglikelihood for logistic regression

  • binary classification error

  • Area under curve for classification

樹數量

需要配置為樹數量,正整數,樹數量和訓練時間成正比。

樹最大深度

默認值為5,即最多16個葉子節點。取值為正整數。

數據采樣比例

構建每棵樹時,采樣部分數據進行學習,構建弱學習器,從而加快訓練。

特征采樣比例

構建每棵樹時,采樣部分特征進行學習,構建弱學習器,從而加快訓練。

L1懲罰項系數

控制葉子節點大小。該參數值越大,葉子節點規模分布越均勻。如果過擬合,則增大該參數值。

L2懲罰項系數

控制葉子節點大小。該參數值越大,葉子節點規模分布越均勻。如果過擬合,則增大該參數值。

學習速率

取值范圍為(0,1)

近似Sketch精度

構造Sketch的切割分位點閾值。該參數值越小,獲得的桶越多。一般使用默認值0.03,無需手動配置。

最小分裂損失變化

分裂節點所需要的最小損失變化。該參數值越大,分裂越保守。

特征數量

特征數量或最大特征ID。如果估計使用資源時,未配置該參數,則系統會啟動SQL任務自動計算。

全局偏置項

所有樣本的初始預測值。

隨機數產生器種子

隨機數種子,整型。

特征重要性類型

支持以下幾種類型:

  • 模型中,該特征做為分裂特征的次數

  • 模型中,該特征帶來的信息增益(默認值)

  • 模型中,該特征在分裂節點覆蓋的樣本數

執行調優

計算核心數

默認為系統自動分配。

每個核內存大小

單個核心使用的內存,單位為MB。通常無需手動配置,系統會自動分配。

方式二:PAI命令方式

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

#訓練。
PAI -name ps_smart
    -project algo_public
    -DinputTableName="smart_binary_input"
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545859_2"
    -DoutputImportanceTableName="pai_temp_24515_545859_3"
    -DlabelColName="label"
    -DfeatureColNames="f0,f1,f2,f3,f4,f5"
    -DenableSparse="false"
    -Dobjective="binary:logistic"
    -Dmetric="error"
    -DfeatureImportanceType="gain"
    -DtreeCount="5"
    -DmaxDepth="5"
    -Dshrinkage="0.3"
    -Dl2="1.0"
    -Dl1="0"
    -Dlifecycle="3"
    -DsketchEps="0.03"
    -DsampleRatio="1.0"
    -DfeatureRatio="1.0"
    -DbaseScore="0.5"
    -DminSplitLoss="0";

#預測。
PAI -name prediction
    -project algo_public
    -DinputTableName="smart_binary_input"
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545860_1"
    -DfeatureColNames="f0,f1,f2,f3,f4,f5"
    -DappendColNames="label,qid,f0,f1,f2,f3,f4,f5"
    -DenableSparse="false"
    -Dlifecycle="28";

模塊

參數

是否必選

描述

默認值

數據參數

featureColNames

輸入表中,用于訓練的特征列。如果輸入表是Dense格式,則只能選擇數值(BIGINTDOUBLE)類型。如果輸入表是Sparse KV格式,且KV格式中keyvalue是數值類型,則只能選擇STRING類型。

labelColName

輸入表的標簽列,支持STRING及數值類型。如果是內部存儲,則僅支持數值類型。例如二分類中的01

weightCol

列可以對每行樣本進行加權,支持數值類型。

enableSparse

是否為稀疏格式,取值范圍為{true,false}。稀疏格式的KV之間使用空格分隔,keyvalue之間使用英文冒號(:)分隔。例如1:0.3 3:0.9

false

inputTableName

輸入表的名稱。

modelName

輸出的模型名稱。

outputImportanceTableName

輸出特征重要性的表名。

inputTablePartitions

格式為ds=1/pt=1

outputTableName

輸出至MaxCompute的表,二進制格式,不支持讀取,只能通過SMART的預測組件獲取。

lifecycle

輸出表的生命周期,單位為天。

3

算法參數

objective

目標函數類型。如果進行二分類訓練,則選擇binary:logistic

metric

訓練集的評估指標類型,輸出在Logview文件Coordinator區域的stdout。支持以下類型:

  • logloss:對應可視化方式的negative loglikelihood for logistic regression類型。

  • error:對應可視化方式中的binary classification error類型。

  • auc:對應可視化方式中的Area under curve for classification類型。

treeCount

樹數量,與訓練時間成正比。

1

maxDepth

樹的最大深度,正整數,取值范圍為1~20。

5

sampleRatio

數據采樣比例,取值范圍為(0,1]。如果取值為1.0,則表示不采樣。

1.0

featureRatio

特征采樣比例,取值范圍為(0,1]。如果取值為1.0,則表示不采樣。

1.0

l1

L1懲罰項系數。該參數值越大,葉子節點分布越均勻。如果過擬合,則增大該參數值。

0

l2

L2懲罰項系數。該參數值越大,葉子節點分布越均勻。如果過擬合,則增大該參數值。

1.0

shrinkage

取值范圍為(0,1)

0.3

sketchEps

構造Sketch的切割分位點閾值,桶數為O(1.0/sketchEps)。該參數值越小,獲得的桶越多。一般使用默認值,無需手動配置。取值范圍為(0,1)

0.03

minSplitLoss

分裂節點所需要的最小損失變化。該參數值越大,分裂越保守。

0

featureNum

特征數量或最大特征ID。如果估計使用資源時,未配置該參數,則系統會啟動SQL任務自動計算。

baseScore

所有樣本的初始預測值。

0.5

randSeed

隨機數種子,整型。

featureImportanceType

計算特征重要性的類型,包括:

  • weight:在模型中,該特征作為分裂特征的次數。

  • gain:在模型中,該特征帶來的信息增益。

  • cover:在模型中,該特征在分裂節點覆蓋的樣本數。

gain

調優參數

coreNum

核心數量,該參數值越大,算法運行越快。

系統自動分配

memSizePerCore

每個核心使用的內存,單位為MB。

系統自動分配

示例

  1. 使用ODPS SQL節點執行如下SQL語句,生成訓練數據(以Dense格式數據為例)。

    drop table if exists smart_binary_input;
    create table smart_binary_input lifecycle 3 as
    select
    *
    from
    (
    select 0.72 as f0, 0.42 as f1, 0.55 as f2, -0.09 as f3, 1.79 as f4, -1.2 as f5, 0 as label
    union all
    select 1.23 as f0, -0.33 as f1, -1.55 as f2, 0.92 as f3, -0.04 as f4, -0.1 as f5, 1 as label
    union all
    select -0.2 as f0, -0.55 as f1, -1.28 as f2, 0.48 as f3, -1.7 as f4, 1.13 as f5, 1 as label
    union all
    select 1.24 as f0, -0.68 as f1, 1.82 as f2, 1.57 as f3, 1.18 as f4, 0.2 as f5, 0 as label
    union all
    select -0.85 as f0, 0.19 as f1, -0.06 as f2, -0.55 as f3, 0.31 as f4, 0.08 as f5, 1 as label
    union all
    select 0.58 as f0, -1.39 as f1, 0.05 as f2, 2.18 as f3, -0.02 as f4, 1.71 as f5, 0 as label
    union all
    select -0.48 as f0, 0.79 as f1, 2.52 as f2, -1.19 as f3, 0.9 as f4, -1.04 as f5, 1 as label
    union all
    select 1.02 as f0, -0.88 as f1, 0.82 as f2, 1.82 as f3, 1.55 as f4, 0.53 as f5, 0 as label
    union all
    select 1.19 as f0, -1.18 as f1, -1.1 as f2, 2.26 as f3, 1.22 as f4, 0.92 as f5, 0 as label
    union all
    select -2.78 as f0, 2.33 as f1, 1.18 as f2, -4.5 as f3, -1.31 as f4, -1.8 as f5, 1 as label
    ) tmp;

    生成的訓練數據如下。image

  2. 構建如下工作流,并運行組件,詳情請參見算法建模image

    1. Designer左側組件列表中,分別搜索讀數據表組件、PS-SMART二分類訓練組件、預測組件、寫數據表組件,并拖入右側畫布中。

    2. 參照上圖,通過連線的方式,將各個節點組織構建成為一個有上下游關系的工作流。

    3. 配置組件參數。

      • 在畫布中單擊讀數據表-1組件,在右側表選擇頁簽,配置表名smart_binary_input。

      • 在畫布中單擊PS-SMART二分類訓練-1組件,在右側配置如下表中的參數,其余參數使用默認值。

        頁簽

        參數

        描述

        字段設置

        特征列

        選擇f0f1f2f3f4、及f5列。

        標簽列

        選擇label列。

        參數設置

        評估指標類型

        選擇Area under curve for classification

        樹數量

        輸入5

      • 在畫布中單擊預測-1組件,在右側字段設置頁簽,選擇原樣輸出列全選。其余參數使用默認值。

      • 在畫布中單擊寫數據表-1組件,在右側表選擇頁簽,配置寫入表表名smart_binary_output。

    4. 參數配置完成后,單擊運行按鈕image,運行工作流。

  3. 右鍵單擊預測-1組件,在快捷菜單中,選擇查看數據 > 預測結果輸出,查看預測結果。image其中prediction_detail列的1表示正例,0表示負例。

  4. 右鍵單擊PS-SMART二分類訓練-1組件,在快捷菜單,選擇查看數據 > 輸出特征重要性表,查看特征重要性表。image其中:

    • id:表示傳入的特征序號。因為該示例傳入的特征為f0f1f2f3f4f5,所以id列的0表示f0特征列,id列的4表示f4特征列。如果輸入數據是KV格式,則id列表示KV中的key

    • value:表示特征重要性類型,默認為gain,即該特征對模型帶來的信息增益之和。

    • 該特性重要性表中僅有3個特性,表示樹在分裂過程中僅使用了這三個特性,可以認為其他特性的特征重要性為0。

PS-SMART模型部署說明

如果您需要將PS-SMART組件生成的模型部署為在線服務,您需要在該組件的下游接入通用模型導出組件,并按照PS系列組件的使用方式配置組件參數,詳情請參見通用模型導出

組件運行成功后,您可以前往PAI EAS模型在線服務頁面,部署模型服務,詳情請參見服務部署:控制臺

相關文檔

  • 關于Designer組件更詳細的內容介紹,請參見Designer概述

  • Designer預置了多種算法組件,你可以根據不同的使用場景選擇合適的組件進行數據處理,詳情請參見組件參考:所有組件匯總