共用方式為


數據分割和範例元件

本文說明 Azure 機器學習 設計工具中的元件。

使用數據分割和範例元件在數據集上執行取樣,或從數據集建立數據分割。

取樣是機器學習中的重要工具,因為它可讓您減少數據集的大小,同時維持相同的值比率。 此元件支援數個在機器學習中很重要的相關工作:

  • 將數據分割成相同大小的多個子區段。

    您可以使用分割區進行交叉驗證,或將案例指派給隨機群組。

  • 將數據分成群組,然後處理來自特定群組的數據。

    將案例隨機指派給不同的群組之後,您可能需要修改僅與一個群組相關聯的功能。

  • 取樣。

    您可以擷取數據百分比、套用隨機取樣,或選擇用來平衡數據集的數據行,並對其值執行分層取樣。

  • 建立較小的數據集以進行測試。

    如果您有大量數據,您可能只想在設定管線時使用前 n 個數據列,然後在建置模型時切換到使用完整數據集。 您也可以使用取樣來建立較小的數據集,以用於開發。

設定元件

此元件支援下列方法,可將您的資料分割成分割區或進行取樣。 先選擇 方法,然後設定方法所需的其他選項。

  • 前端
  • 取樣
  • 指派給折疊
  • 挑選折疊

從數據集取得 TOP N 個數據列

使用此模式只取得前 n 個數據 列。 如果您想要在少量數據列上測試管線,而且您不需要以任何方式平衡或取樣數據,這個選項會很有用。

  1. 將分割區和 範例 元件新增至介面中的管線,然後連接數據集。

  2. 數據分割或範例模式:將此選項設定為 Head

  3. 要選取的數據列數目:輸入要傳回的數據列數目。

    數據列數目必須是非負整數。 如果選取的數據列數目大於數據集中的數據列數目,則會傳回整個數據集。

  4. 提交管線。

元件會輸出只包含指定數據列數目的單一數據集。 數據列一律會從數據集頂端讀取。

建立數據的範例

此選項支援簡單的隨機取樣或分層隨機取樣。 如果您想要建立較小的代表性範例數據集進行測試,這會很有用。

  1. 將分割 區和範例 元件新增至管線,並連接數據集。

  2. 數據分割或範例模式:將此選項設定為 [取樣]。

  3. 取樣率:輸入介於 0 到 1 之間的值。 這個值會指定來源數據集的數據列百分比,這些數據列應該包含在輸出數據集中。

    例如,如果您只想要原始數據集的一半,請輸入 0.5 來指出取樣率為 50%。

    根據指定的比例,輸入數據集的數據列會隨機顯示,並選擇性地放在輸出數據集中。

  4. 取樣的隨機種子:選擇性地輸入要當做種子值的整數。

    如果您想要每次以相同方式分割數據列,這個選項就很重要。 默認值為 0,表示會根據系統時鐘產生起始種子。 每次執行管線時,這個值可能會導致稍微不同的結果。

  5. 分層分割進行取樣:如果數據集中的數據列在取樣之前會平均除以一些索引鍵數據行,請選取此選項。

    針對 取樣的分層索引鍵數據行,選取分割數據集時要使用的單 一階層數據 行。 然後,數據集中的數據列會分割如下:

    1. 所有輸入數據列都會依指定階層數據行中的值分組(分層)。

    2. 每個群組內的數據列會隨機顯示。

    3. 每個群組都會選擇性地新增至輸出數據集,以符合指定的比率。

  6. 提交管線。

    使用此選項時,元件會輸出包含數據代表性取樣的單一數據集。 數據集的其餘未取樣部分不會輸出。

將數據分割成分割區

當您想要將資料集分割成數據的子集時,請使用此選項。 當您想要建立用於交叉驗證的自定義折疊數,或將數據列分割成數個群組時,這個選項也很有用。

  1. 將分割 區和範例 元件新增至管線,並連接數據集。

  2. 針對 [ 分割區] 或 [範例模式],選取 [ 指派給折迭]。

  3. 在資料分割中使用取代:如果您想要將取樣的數據列放回數據列集區,以便重複使用,請選取此選項。 因此,相同的數據列可能會指派給數個折疊。

    如果您未使用取代專案(預設選項),取樣的數據列不會放回數據列集區中,以便重複使用。 因此,每個數據列只能指派給一個折疊。

  4. 隨機分割:如果您想要將數據列隨機指派給折疊,請選取此選項。

    如果您未選取此選項,則會將數據列指派給迴圈配置資源方法的折疊。

  5. 隨機種子:選擇性地輸入要當做種子值的整數。 如果您想要每次以相同方式分割數據列,這個選項就很重要。 否則,預設值 為 0 表示將使用隨機起始種子。

  6. 指定資料分割器方法:使用下列選項,指出您想要如何將資料分派給每個分割區:

    • 平均分割:使用此選項,在每個分割區中放置相等的數據列數目。 若要指定輸出分割區的數目,請在 [指定折疊數以平均分割成方塊] 中輸入整數。

    • 具有自定義比例的數據分割:使用此選項可將每個分割區的大小指定為逗號分隔清單。

      例如,假設您想要建立三個分割區。 第一個數據分割將包含 50% 的數據。 其餘兩個分割區各包含 25% 的數據。 在 [ 以逗號 分隔的比例清單] 方塊中,輸入下列數位: .5、.25、.25

      所有分割區大小的總和必須加到 1。

      如果您輸入最多 小於 1 的數位,則會建立額外的分割區來保存其餘的數據列。 例如,如果您輸入值 .2.3,則會建立第三個分割區來保存其餘 50% 的所有數據列。

      如果您輸入最多 1 的數位,當您執行管線時,就會引發錯誤。

  7. 分層分割:如果您想要分割時將數據列分層,然後選擇 階層數據行,請選取此選項。

  8. 提交管線。

    使用此選項時,元件會輸出多個數據集。 數據集會根據您指定的規則進行分割。

使用預先定義數據分割中的數據

當您將數據集分割成多個分割區,而現在想要接著載入每個分割區以進行進一步分析或處理時,請使用此選項。

  1. 將分割 區和範例 元件新增至管線。

  2. 將元件連接到先前的 Partition 和 Sample 實例的輸出。 該實例必須使用 [ 指派給折迭 ] 選項來產生一些數據分割。

  3. 數據分割或範例模式:選取 [ 挑選折疊]。

  4. 指定要取樣的折疊:輸入其索引來選取要使用的分割區。 數據分割索引是以 1 為基礎。 例如,如果您將數據集分割成三個部分,分割區會有索引 1、2 和 3。

    如果您輸入無效的索引值,則會引發設計時間錯誤:「錯誤 0018:數據集包含無效的數據」。

    除了依折迭將數據集分組之外,您還可以將數據集分成兩個群組:目標折疊,以及其他所有專案。 若要這樣做,請輸入單一折疊的索引,然後選取選取之折疊的 [挑選補碼] 選項,以取得指定之折疊中除數據外的所有專案。

  5. 如果您使用多個分割區,則必須新增更多 數據分割實例和範例 元件來處理每個分割區。

    例如,第二列的 Partition 和 Sample 元件會設定為 [指派給 疊],而第三列中的元件會設定為 [挑選折疊]。

    數據分割和範例

  6. 提交管線。

    使用此選項時,元件會輸出只包含指派給該折疊之數據列的單一數據集。

注意

您無法直接檢視折疊指定。 它們只存在於元數據中。

下一步

請參閱 Azure 機器學習 可用的元件集。