群組類別值

將來自多個類別的資料分組為新類別

類別: 資料轉換/操作

注意

適用于 : Machine Learning Studio (傳統)

此內容僅適用于 Studio (傳統) 。 Azure Machine Learning 設計工具中已新增類似的拖放模組。 若要深入瞭解 這兩個版本,請參閱這篇文章

模組概觀

本文說明如何使用 Azure Machine Learning Studio (傳統) 中的「 群組類別值 」模組,來建立就地查閱資料表。

分組類別值的一般用途是將多個字串值合併成一個新的層級。 例如,您可以將區域中的個別郵遞區號指派給單一區域程式碼,或在一個類別目錄下分組多個產品。

若要使用此模組,請輸入您想要使用的查閱值,並將現有的值對應至取代值。 您只能為類別資料行建立群組,而不能為指定為標籤或特徵的數數值型別或資料行建立群組。

未明確對應至新層級的任何資料行值都會指派給預設層級。 例如,如果您未對應所有的個別郵遞區號,則會將其分組為未對應值的層級,您可能會將其命名為 未知

注意

最多可以建立20個新層級,包括預設層級。 如果您需要更多的值,或需要動態定義對應,建議您在 [ 執行 R 腳本 ] 模組中使用自訂 R 腳本。 或者,在 [套用 Sql 轉換 ] 模組中使用 sql 語句。

如何使用群組類別值

建議您事先準備現有值的清單和新的類別。 針對每個類別目錄,您應該準備新的分類名稱,以及要包含在類別目錄中的值清單(以逗號分隔)。

  1. 將 [ 群組類別值 ] 模組新增至您的實驗。 您可以在 [ 資料轉換]、[ 操作] 下找到此模組。

  2. 連接具有您要轉換之值的資料集。

  3. 群組類別值 的 [屬性] 窗格中,使用 [資料行選取器] 選擇要減少層級的資料行。

    • 建議您按一下 [ 開始 日期] 和 [ 不啟動任何資料行 ],然後依名稱加入資料行。 否則,可能會將太多資料行新增為候選項,因而導致錯誤。

    • 此資料行必須是類別資料行。 如果不是,請將 編輯中繼資料 加入上游,然後變更資料行類型。

    • 請務必從輸入中移除不應套用字串取代的任何資料行。

  4. 針對 [ 輸出模式],指出您想要只輸出新的層級,或附加變更來查看原始資料行,並以並存的方式取代。

    預設值 僅限結果 只會顯示新的值。 就地 選項會將現有的資料行值取代為新的層級。

  5. 針對 [ 預設層級名稱],輸入要用來取代所有未明確對應之值的字串值。 您可以使用「未知」或「預設」之類的內容。

    注意

    此預設層級值會套用至所有無法對應的值。 如果您不小心包含您不想要對應的資料行,此值會套用至資料行中的所有值。 因此,在處理之前,請先檢查資料行選取是否正確。

  6. 在 [ 新的層級數目] 中,輸入一個數位來指出 (層級) 的新類別總數,包括未對應值的預設層級。

  7. 在 [ 新層級1的名稱] 中,為第一個類別提供新的組名。

  8. 在緊接在下方的文字方塊中, 要對應至新層級1的舊層級的逗號分隔清單,輸入或貼上要對應至新層級的所有值的詳盡清單。 不允許使用萬用字元和正則運算式。

  9. 繼續輸入新的層級名稱,然後輸入或貼上應對應至新層級的值。

    建議您在工作時,將值清單儲存在個別的檔案中。 如果您變更層級數目,您先前輸入的任何字串都會被移除,而且必須重新開始。

    但是,如果您要編輯先前儲存的模組,您可以還原成原始設定。

  10. 執行實驗。

結果

若要查看結果,請以滑鼠右鍵按一下 [ 群組類別值 ] 模組,選取 [ 結果資料集],然後按一下 [ 視覺化]。

範例

如需機器學習服務的範例,請參閱 AZURE AI 資源庫

您也可以自行嘗試此課程模組,方法是使用小型資料集搭配一些可輕鬆分組的字串變數,例如 Azure Machine Learning Studio 中提供的 汽車價格 資料集 (傳統) 。

讓我們假設您想要依引擎大小將汽車價格資料集中的車輛分組(使用圓柱的數目)。 除了許多不同的引擎大小之外,您還會建立新的層級:「大」、「小型」和「其他」,如下所示:

  • 大型引擎:六張圓柱或更大
  • 小型引擎:兩個或四個圓柱
  • 其他:任何其他
  1. 在 [ 資料集] 模組中加入 [選取資料行 ],然後只選取資料 num-of-cylinders 行。
  2. 加入 [ 編輯中繼資料 ] 模組,然後將資料 num-of-cylinders 行變更為 類別
  3. 新增 [ 群組類別值 ] 模組,並連接已修改的資料集。
  4. 針對 [ 預設層級名稱],輸入 other 。 您不需要提供此層級的值。
  5. 在 [ 新層級1的名稱] 中,輸入 big 。 在要對應至層級1的舊層級清單中,貼上 six, eight, twelve
  6. 在 [ 新層級2的名稱] 中,輸入 small 。 針對對應的值,貼上 two, four
  7. 執行實驗。
  8. 當您將結果 視覺化 時,您會發現原始資料集有一些您未考慮的奇數引擎大小,例如 fivethree 。 所有這類專案都會對應到 other 層級。

技術說明

本節包含對常見問題的執行詳細資料、秘訣和解答。

  • 您可能會遇到錯誤訊息:「名稱為 "" 的資料行 <columnname> 不在允許的類別中」。

    此訊息表示您所選取的資料行不是類別資料行。 您可以 Categorical 使用 [ 編輯中繼資料] 將資料行標示為,或選取包含適當類別值的其他資料行。

預期的輸入

名稱 類型 Description
資料集 資料表 待分組的資料

模組參數

Name 範圍 類型 預設 描述
選取的資料行 任意 ColumnSelection CategoricalAll 選取要分組的資料行
輸出模式 任意 OutputTo ResultOnly 指定如何輸出類別標籤
預設層級名稱 任意 String 指出沒有相符的對應時要使用的預設層級
新的層級數目 List 群組數目 指定值已分組之後的層級數目,包括預設層級。

輸出

名稱 類型 Description
結果資料集 資料表 已分組的資料

另請參閱

操縱
資料轉換
A-Z 模組清單