Share via


轉換成 SVMLight

重要

Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning

自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。

ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。

將資料輸入轉換成 SVM Light 架構使用的格式

類別: 資料格式轉換

注意

適用于僅限機器學習 Studio (傳統)

Azure Machine Learning 設計工具中提供類似的拖放模組。

模組概觀

本文說明如何使用機器學習 Studio (傳統) 中的 [轉換成 SVMLight ] 模組,將您的資料集轉換成 SVMLight 所使用的格式。

SVM-Light 架構是由 Cornell 大學的研究人員開發。 SVM-Light 程式庫會執行 Vapnik 的支援向量機器,但其格式已在其他地方採用,並可用於許多機器學習工作,包括分類和回歸。

如需詳細資訊,請參閱 SVMLight 支援向量機器

如何設定轉換成 SVMLight

轉換成 SVMLight 格式需要將每個案例轉換成以標籤開頭的資料列,後面接著以冒號分隔數位表示的功能值組。 轉換 程式不會自動識別 正確的資料行,因此請務必先準備資料集中的資料行,然後再嘗試轉換。 如需詳細資訊,請參閱 準備資料以進行轉換

  1. 將 [ 轉換成 SVMLight ] 模組新增至您的實驗。 您可以在機器學習 Studio (傳統) 的 [資料格式轉換] 分類中找到此模組。

  2. 連線您想要轉換成 SVMLight 格式的資料集或輸出。

  3. 執行實驗。

  4. 以滑鼠右鍵按一下模組的輸出,並選取 [ 下載],然後將資料儲存至本機檔案以進行修改,或使用支援 SVMLight 的程式重複使用。

準備資料以進行轉換

為了說明轉換程式,此範例會使用 Studio 中的 血糖贊助 資料集 (傳統) 。

此範例資料集的格式如下:表格格式。

最近 頻率 貨幣 時間 類別
2 50 12500 98 1
0 13 3250 28 1
1 1 4000 35 1
2 20 5000 45 1
1 24 6000 77 0

請注意,此資料集中名為 [Class] 的標籤資料行是資料表中的最後一個資料行。 但是,如果您將資料集轉換成 SVMLight,而未先指出哪個資料行包含該標籤,則會使用第一個資料行 [最近] 作為標籤,並將 [類別] 資料行視為特徵:

2 1:50 2:12500 3:98 4:1
0 1:13 2:3250 3:28 4:1
1 1:16 2:4000 3:35 4:1

若要確定每個案例的資料列開頭都有正確地產生標籤,您必須加入 [ 編輯中繼資料 ] 模組的兩個實例。

  1. 在 [ 編輯中繼資料] 的第一個實例中,選取標籤資料行 ( [類別] ) 然後針對 [ 欄位] 選取 [ 標籤]。

  2. 在 [ 編輯中繼資料] 的第二個實例中,選取 [已轉換的檔案] 中所需的所有功能資料行 ( [最近]、[頻率]、[貨幣]、[時間] ) 以及 欄位的選取 功能

正確識別資料行之後,您可以執行 [ 轉換成 SVMLight ] 模組。 轉換之後,血糖贊助資料集的前幾個資料列現在會有此格式:

  • 標籤值會在每個專案之前,後面接著 [最近]、[頻率]、[貨幣] 和 [時間] 的值,分別識別為特徵1、2、3和4。

  • 第五個數據列中的標籤值0已轉換為-1。 這是因為 SVMLight 僅支援二元分類標籤。

1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28
1 1:1 2:16 3:4000 4:35
1 1:2 2:20 3:5000 4:45
-1 1:1 2:24 3:6000 4:77

您無法直接將此文字資料用於 Azure ML 中的模型,或將其視覺化。 不過,您可以將它下載到本機共用。

開啟檔案時,建議您新增批註行(開頭 # 為),以便您可以新增來源或原始功能資料行名稱的相關附注。

若要在 Vowpal Wabbit 中使用 SVMLight 檔,並進行以下所述的其他修改: 轉換成 Vowpal Wabbit 格式。 當檔案就緒時,請將其上傳至 Azure blob 儲存體,並直接從其中一個 Vowpal Wabbit 模組呼叫它。

範例

Azure AI 資源庫中沒有任何範例:適用于此格式。

技術說明

本節包含實作詳細資料、提示和常見問題集的解答。

使用提示

SVM-Light framework 中提供的可執行 檔需要範例 檔和 模型檔。 但此模組只會建立範例檔。 您必須使用 SVMLight 程式庫來分開建立模型檔案。

範例檔案是包含定型範例的檔案。

  • 選擇性標頭

    第一行可以包含批註。 註解必須在前面加上數字符號 (#)。

    [轉換成 SVMLight] 所輸出的檔案格式不會建立標頭。 您可以編輯檔案來新增批註、資料行名稱清單等等。

  • 訓練資料

    每個案例都是在它自己的資料列上。 案例包含目標值,後面接著一系列的索引和相關聯的功能值。

    回應值必須是 1 或-1 代表分類,或迴歸的數字。

    目標值和每個索引值組都以空格分隔。

定型資料範例

下表顯示如何將 Two-Class 鳶尾花資料集之資料行中的值轉換為標記法,其中每個資料行都以索引表示,後面接著冒號,然後是該資料行中的值:

光圈資料集 轉換成 SVMLight 的光圈資料集
1 6.3 2.9 5.6 1。8 1 1: 6.3 2: 2.9 3: 5.6 4:1。8
0 4.8 3.4 1.6 0。2 -1 1: 4.8 2: 3.4 3: 1.6 4:0。2
1 7.2 3.2 6 1。8 1 1: 7.2 2: 3.2 3:6 4:1。8

請注意,轉換中的功能資料行名稱會遺失。

使用 SVMLight 來準備 Vowpal Wabbit 檔案

SVMLight 格式類似于 Vowpal Wabbit 所使用的格式。 若要將 SVMLight 輸出檔變更為可用於定型 Vowpal Wabbit 模型的格式,請在標籤和功能清單之間新增一個管道符號。

例如,比較這些輸入行:

Vowpal Wabbit 格式,包括選擇性批註

# features are [Recency], [Frequency], [Monetary], [Time]
1 | 1:2 2:50 3:12500 4:98
1 | 1:0 2:13 3:3250 4:28

SVMLight 格式,包括選擇性批註

# features are [Recency], [Frequency], [Monetary], [Time]
1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28

預期的輸入

名稱 類型 說明
資料集 資料表 輸入資料集

輸出

名稱 類型 說明
結果資料集 SvmLight 輸出資料集

另請參閱

資料格式轉換
A-Z 模組清單