解壓縮壓縮的資料集

從使用者儲存體中的 zip 套件解壓縮資料集

類別: 資料輸入和輸出

注意

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

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

模組概觀

本文說明如何使用機器學習 Studio (傳統) 中的 [解除封裝壓縮資料集] 模組,以壓縮格式上傳資料和腳本檔案,然後將它們解壓縮以在實驗中使用。

此課程模組的目的是要在處理非常大型的資料集時減少資料傳輸時間,方法是以壓縮格式儲存和上傳您的資料檔案。 一般而言,當您的資料集很大,而您想要使用壓縮來進行上傳時,壓縮檔案是不錯的選項,可將上傳時間和相關成本降到最低。

模組會以您的工作區中的資料集做為輸入。 資料集必須以壓縮格式上傳。 然後,模組會將資料集解壓縮,並將資料新增至您的工作區。

如何使用解除封裝壓縮的資料集

本節說明如何準備您的資料,然後在機器學習 Studio (傳統) 中將資料解壓縮。

步驟 1: 準備檔案

上傳檔案之前,請確定檔案中的資料可以在機器學習中使用:

  • 確定檔案中的資料使用 UTF-8 編碼。

    如果檔案夠小,您可以在記事本中開啟檔案,然後以所需的編碼方式儲存檔案。 許多其他文字編輯器都提供類似的功能。 若為 CSV 檔案,您可以使用 Excel 的 [另存新檔] 或 [匯出] 命令來指定檔案格式和編碼。

  • 請確認資料檔案使用支援的 格式,例如 CSV、TSV、ARFF 或 SVMLight。

  • 將資料檔案新增至 .ZIP 或,以壓縮資料。GZ 格式保存檔案。 不支援其他封存類型。

  • 移除密碼保護。 如果有任何檔案或壓縮資料夾本身已加密或受密碼保護,您必須先解除鎖定或解密檔案,再將它上傳。 模組無法偵測加密的資料類型,而且不支援來自任意用戶端之密碼輸入的對話方塊。

步驟 2: Upload 資料集加入至您的工作區

接下來,將壓縮的資料集上傳至您的實驗工作區。

  1. 按一下 [ 新增],選取 [ 資料集],然後選取 [ 從本機檔案]。

  2. 找出要上傳的 zip 壓縮檔案。 當您選取檔案時,類型應該會自動設定為 Zip 檔案 (.zip)

步驟 3: 將壓縮的資料集新增至實驗

完整上傳資料集之後,請將它以壓縮格式新增至您的實驗。

  1. 在機器學習 Studio (傳統) 的左側導覽窗格中,選取 [已儲存的資料集],然後展開 [我的資料集]。

  2. 找出您剛剛上傳的壓縮資料集,並將它拖曳至實驗畫布。

步驟 4: 解壓縮資料集

最後一個步驟是將資料集解壓縮。

  1. 將壓縮的資料集連線為 [解除封裝壓縮資料集] 模組的輸入。

  2. 在 [ 要解壓縮的資料集] 中,輸入要解除封裝之單一資料集的名稱。

    • 如果您將名稱為Sheet1的工作表儲存為名為Test.csvExcel CSV 檔案,則資料集的名稱會是Test.csv,而非Sheet1

    • 您在 [要解除封裝的 資料集 ] 文字方塊中輸入的名稱,必須 與原始檔案的 副檔名相同(包括副檔名)。 例如,如果您想要根據文字檔 Users.txt解壓縮資料集,請輸入 Users.txt,而不是 使用者

    • 如果您將多個檔案放入一個壓縮資料夾中,就必須一次將一個資料集解壓縮。

    提示

    如果您將屬性保留空白,則此模組會從 zip 壓縮檔案取得檔案名,假設壓縮的封存檔案只包含一個來源檔案。 如果壓縮的封存包含多個檔案,就會引發執行階段錯誤。

  3. 針對 資料集檔案格式,請指定資料集的原始格式:也就是壓縮之前的格式。

    您可以上傳和解壓縮使用下列任何格式所建立的資料集: CSV、ARFF、TSV、SvmLight。

    如果這個屬性是空的,模組會使用原始程式檔名稱來識別資料集。

  4. 如果原始資料集有標頭資料列,請選取 [檔案 具有標頭資料列] 選項。 否則,會使用第一個資料列做為標頭。 如果這不是您想要的,請在輸入之前新增標頭。

    此選項只適用于 .CSV 和。TSV 檔案。

    注意

    如果您變更檔案的格式,則會重設這個選項。

  5. 如果檔案已壓縮,請使用 壓縮檔案格式 選項來指定用來壓縮或展開檔案的演算法。

    目前支援 .ZIP 和 GZ (或 Gzip) 格式。

  6. 執行實驗。

結果

  • 若要確認已正確匯入資料,請以滑鼠右鍵按一下 [已 解壓縮的壓縮資料集 ] 模組,然後選取 [ 視覺化 ]。

  • 若要變更資料集的名稱,請以滑鼠右鍵按一下 [已 解壓縮的壓縮資料集 ] 模組,然後選取 [ 另存為資料集]。 此時您可以輸入不同的名稱。

    如果您要從單一 ZIP 檔案解壓縮多個資料集,這個選項就很有用。

範例

為了示範此課程模組的運作方式,我們建立了一個範例 .ZIP 檔案,其中包含四個不同的 CSV 檔案。 所有檔案都是從 Excel 儲存。

檔案名稱 描述
names-uni.csv 具有資料行標題的 Unicode 檔案
names-utf.csv 具有資料行標題的 UTF-8 檔案
nonames-uni.csv 沒有資料行標題的 Unicode 檔案
nonames-utf8.csv 沒有資料行標題的 UTF-8 檔案

已上傳整個壓縮檔案,然後使用這些設定,將 [ 解壓縮壓縮資料集 ] 模組執行四次以解壓縮這四個檔案:

  1. 要解壓縮的資料集 = names-uni.csv,檔案 的標頭資料列 = TRUE
  2. 要解壓縮的資料集 = names-utf8.csv,檔案 的標頭資料列 = TRUE
  3. 要解壓縮的資料集 = nonames-uni.csv,檔案 的標頭資料列 = FALSE
  4. 要解壓縮的資料集 = nonames-utf8.csv,檔案 的標頭資料列 = FALSE

結果如下所示:

檔案名稱 Upload 結果
names-uni.csv 錯誤0049:剖析檔案時發生錯誤。 檔案不是 Unicode (UTF-8) 編碼
names-utf8.csv 成功。 使用原始資料行名稱的來源檔案。
nonames-uni.csv 錯誤0049:剖析檔案時發生錯誤。 檔案不是 Unicode (UTF-8) 編碼
nonames-utf8.csv 成功。 資料行名稱 Col1、col2、.。。資料行n 會自動加入至資料集。

注意

如果您使用選項,則檔案的 標頭資料 列 = TRUE,而且原始程式檔實際上沒有資料行標題,則會使用第一個資料列做為資料行標題。

技術說明

您無法使用此模組將壓縮的 R 套件解壓縮至您的工作區。 R 套件必須以壓縮檔案的形式上傳和取用。

如需如何使用壓縮 R 封裝的詳細資訊,請參閱 執行 r 腳本

注意

UTF-8 和 Unicode 之間的差異有混淆嗎? 請參閱這篇維琪百科文章: 何謂 utf-8

模組參數

名稱 範圍 類型 預設 描述
壓縮檔案格式 Zip

Gzip
壓縮規則 Zip 用來壓縮或展開檔案的壓縮演算法。
要解壓縮的資料集 任意 String 要向 Azure ML Studio (傳統) 註冊的資料集名稱。 如果未指定資料集的名稱,則會從 zip 壓縮檔案中的檔案名取得名稱。
資料集檔案格式 CSV

TSV

ARFF

SVMLIGHT
檔案格式 CSV 壓縮檔案中資料集的檔案格式
檔案具有標頭資料列 TRUE/FALSE 布林值 只有在 CSV/TSV 檔案具有標頭資料列時,才設為True

預期的輸入

名稱 類型 說明
資料集 Zip 包含資料集的壓縮檔案

輸出

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

另請參閱

資料輸入和輸出