轉換成 SVMLight
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
將資料輸入轉換成 SVM Light 架構使用的格式
類別: 資料格式轉換
模組概觀
本文說明如何使用機器學習 Studio (傳統) 中的 [轉換成 SVMLight ] 模組,將您的資料集轉換成 SVMLight 所使用的格式。
SVM-Light 架構是由 Cornell 大學的研究人員開發。 SVM-Light 程式庫會執行 Vapnik 的支援向量機器,但其格式已在其他地方採用,並可用於許多機器學習工作,包括分類和回歸。
如需詳細資訊,請參閱 SVMLight 支援向量機器。
如何設定轉換成 SVMLight
轉換成 SVMLight 格式需要將每個案例轉換成以標籤開頭的資料列,後面接著以冒號分隔數位表示的功能值組。 轉換 程式不會自動識別 正確的資料行,因此請務必先準備資料集中的資料行,然後再嘗試轉換。 如需詳細資訊,請參閱 準備資料以進行轉換。
將 [ 轉換成 SVMLight ] 模組新增至您的實驗。 您可以在機器學習 Studio (傳統) 的 [資料格式轉換] 分類中找到此模組。
連線您想要轉換成 SVMLight 格式的資料集或輸出。
執行實驗。
以滑鼠右鍵按一下模組的輸出,並選取 [ 下載],然後將資料儲存至本機檔案以進行修改,或使用支援 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
若要確定每個案例的資料列開頭都有正確地產生標籤,您必須加入 [ 編輯中繼資料 ] 模組的兩個實例。
在 [ 編輯中繼資料] 的第一個實例中,選取標籤資料行 ( [類別] ) 然後針對 [ 欄位] 選取 [ 標籤]。
在 [ 編輯中繼資料] 的第二個實例中,選取 [已轉換的檔案] 中所需的所有功能資料行 ( [最近]、[頻率]、[貨幣]、[時間] ) 以及 欄位的選取 功能。
正確識別資料行之後,您可以執行 [ 轉換成 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 | 輸出資料集 |