iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 3
0
Everything on Azure

Azure Machine Learning Studio系列 第 3

Azure Machine Learning Studio 資料前處理 - 資料格式轉換 Data Format Conversions

Azure Machine Learning Studio 的 Data Format Conversions 可將資料集的資料做格式轉換,有以下5種:

  1. Convert to ARFF
    把輸入資料轉換成 Weka 支援的 ARFF 格式
  2. Convert to CSV
    把輸入資料轉換成逗點分隔的 CSV 格式
  3. Convert to Dataset
    把輸入資料轉換成.NET序列化資料集格式
  4. Convert to SVMLight
    把輸入資料轉換成 SVM-Light 格式
  5. Convert to TSV
    把輸入資料轉換成 Tab 分隔的 TSV 格式

https://ithelp.ithome.com.tw/upload/images/20181014/20111935Tghe3dUZWf.png

Convert to ARFF

ARFF 是一個 JAVA 開發的機器學習工具 - Weka 常用的資料格式,若同時有在使用 Weka 工具訓練模型,就可以透過 Convert To ARFF 進行資料轉換,但 ARFF 資料格式不支援以 Python 或 R 程式存取
https://ithelp.ithome.com.tw/upload/images/20181014/20111935YTwGOZmacH.png

ARFF 的資料格式內容如下,標頭的部分定義了各個屬性欄位的資料型態及資料名稱、資料的部分放各欄位的資料,以逗點分隔
https://ithelp.ithome.com.tw/upload/images/20181014/20111935sfrNwR45Qc.png

若要轉換的資料集沒有欄位名稱,在資料轉換之前,可以使用 Edit Metadata 調整資料欄位後,再做轉換
位置:Data Transformation/Manipulation/Edit Metadata
https://ithelp.ithome.com.tw/upload/images/20181014/20111935TLuDiPx9Se.png

Convert to CSV

CSV(comma-separated values)是許多機器學習工具會使用的資料格式,也支援以 Python 或 R 程式存取
https://ithelp.ithome.com.tw/upload/images/20181014/20111935Td4tI2xCzL.png

CSV 資料會以逗點分隔,第一列為欄位名稱
https://ithelp.ithome.com.tw/upload/images/20181014/201119355l87bueHVR.png

Convert to Dataset

可以將其他資料轉換為 Azure Machine Learning 使用的資料集格式,支援轉換的格式有 ARFF、CSV、TSV,不支援 SVMLight 格式
https://ithelp.ithome.com.tw/upload/images/20181014/20111935KQYLUnGkj4.png

https://ithelp.ithome.com.tw/upload/images/20181014/20111935MbMMmfn97t.png

Convert to SVMLight

SVMLight 支援向量機格式,可用來做圖像分類、手寫辨識等,要特別注意的是,將資料轉換成 SVMLight 格式時,會自動將第一欄的資料設定為 Label (標籤),也就是我們的結果欄位,第二攔到最後一欄的資料設定為 feature(特徵),所以再轉換前,通常會使用 Edit Metadata,先處理資料欄位,再做轉換
(1) 以捐血資料處理為例,Blood donation data資料集的資料有以下欄位:

  • Recency 前次捐血後經過的月數
  • Frequency 捐血總次數
  • Monetary 捐血總CC數
  • Time 第一次捐血後經過的月數
  • Class 2007年3月是否有捐血

資料詳細說明可參考BLOOD TRANSFUSION SERVICE CENTER

首先辨別資料:

  • 屬於 feature(特徵)的是:Recency、Frequency、Monetary、Time
  • 屬於 label(標籤)的是:Class
    https://ithelp.ithome.com.tw/upload/images/20181014/20111935m7i05QIVdF.png

(2) 新增"Edit Metadata",點選右邊"Launch column selector"開啟欄位選擇工具
https://ithelp.ithome.com.tw/upload/images/20181014/20111935b4lg5256Yr.png

(3) 選擇 Recency、Frequency、Monetary、Time,點選右下角勾勾
https://ithelp.ithome.com.tw/upload/images/20181014/201119350ESIf3PYxf.png

(4) 將欄位設定為"Features"(特徵)
https://ithelp.ithome.com.tw/upload/images/20181014/20111935vlV2VYMfGR.png

(5) 再新增一個"Edit Metadata",點選右邊"Launch column selector"開啟欄位選擇工具
https://ithelp.ithome.com.tw/upload/images/20181014/20111935wAi17lgAH4.png

(6) 選擇"Class"欄位,點選右下角勾勾確認
https://ithelp.ithome.com.tw/upload/images/20181014/20111935HyrTasxpjN.png

(7) 將欄位設定為"Label"(標籤)
https://ithelp.ithome.com.tw/upload/images/20181014/20111935MynS4aLsji.png

(8) 新增"Convert to SVMLight"將資料轉換格式
https://ithelp.ithome.com.tw/upload/images/20181014/20111935hEhbPGGbUK.png

(9) 在 SVMLight 格式中,結果會放在第一欄,0會轉換成-1
https://ithelp.ithome.com.tw/upload/images/20181014/20111935lCodVOoDiX.png

Convert to TSV

TSV(Tab-separated values)資料格式,與 CSV 格式類似,只是是用 Tab 分隔,如果資料內容包含許多逗點值的話,就可以考慮使用 TSV 格式,也支援以 Python 或 R 程式存取
https://ithelp.ithome.com.tw/upload/images/20181014/20111935v5sQlXBbIy.png

TSV 資料會以 Tab 分隔,第一列為欄位名稱
https://ithelp.ithome.com.tw/upload/images/20181014/20111935J0nEKKlf7X.png


上一篇
Azure Machine Learning Studio 建立 hello world 實驗
下一篇
Azure Machine Learning Studio 資料前處理 - 缺失值、空值 Clean Missing Data
系列文
Azure Machine Learning Studio30

尚未有邦友留言

立即登入留言