剪輯值

重要

Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning

自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。

ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。

偵測極端值並裁剪或取代值

類別: 資料轉換/調整和縮減

注意

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

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

模組概觀

本文說明如何使用機器學習 Studio (傳統) 中的 [剪輯值] 模組,來識別並選擇性地取代高於或低於指定臨界值的資料值。 當您想要移除極端值,或將它們取代為平均值、常數或其他替代值時,這會很有用。

您可以將模組連接到具有您要裁剪之數位的資料集、選擇要使用的資料行,然後設定閾值或值範圍,以及取代方法。 模組只會輸出結果,或是附加至原始資料集的變更值。

如何設定裁剪值

開始之前,請先識別您想要裁剪的資料行,以及要使用的方法。 建議您首先對小型資料子集測試任何裁剪方法。

模組會將相同的準則和取代方法套用至您在選取專案中包含的 所有 資料行。 因此,請務必排除您不想要變更的資料行。

如果您需要將裁剪方法或不同準則套用至某些資料行,則必須針對每一組類似的資料行使用新的裁剪值執行個體。

  1. 將 [ 剪輯值 ] 模組新增至您的實驗,並將其連接至您想要修改的資料集。 您可以在 [ 資料轉換] 下的 [ 調整規模和縮減 ] 分類中找到此模組。

  2. 在 [資料行清單] 中,使用資料行選取器來選擇將套用 [裁剪值] 的資料行。

  3. 針對 [閾值集],從下拉式清單中選擇下列其中一個選項。 這些選項會決定您如何設定可接受值的上限和下限,以及必須裁剪的值。

    • ClipPeaks:當您依尖峰來裁剪值時,只會指定上限。 會取代或移除大於該界限值的值。

    • ClipSubpeaks:當您依子尖峰來裁剪值時,只會指定較低的界限。 小於界限值的值會被取代或移除。

    • ClipPeaksAndSubpeaks:當您依尖峰和子尖峰來裁剪值時,您可以同時指定上限和下限。 範圍外的值會被取代或移除。 值若符合界限值,不會變更。

  4. 根據您在上一個步驟中所做的選取,您可以設定下列閾值:

    • 閾值下限:只在您選擇 ClipSubPeaks 時才會顯示
    • 閾值上限:只在您選擇 ClipPeaks 時才會顯示
    • 閾值:只在您選擇 ClipPeaksAndSubPeaks 時才會顯示

    針對每個閾值類型,選擇 [常數] 或 [百分位數]。

  5. 如果您選取 [常數],請在文字方塊中輸入最大值或最小值。 例如,假設您知道值 999 是用作預留位置值。 您可以針對上限臨界值選擇 [ 常數 ],然後在 [ 上限閾值] 的 [常數值] 中輸入999。

  6. 如果您選擇 [百分位數],則會將資料行的值限制為百分位數範圍。

    例如,假設您只想保留 10-80 百分位數範圍中的值,並取代所有其他值。 您可以選擇 [ 百分位數],然後針對 [臨界 值下限] 的百分位數輸入10,然後針對 [ 臨界值上限] 的百分位數值輸入80。

    如需如何使用百分位數範圍的一些範例,請參閱百分位數一節。

  7. 定義替代值。

    完全符合您剛剛指定之界限的數位會被視為在允許的值範圍內,因此不會被取代或移除。 落在指定範圍外的所有數字都會以替代值取代。

    • 替代尖峰的值:定義值來取代大於指定閾值的所有資料行值。
    • 替代次尖峰的值:定義值來用作替代值,以替代小於指定閾值的所有資料行值。
    • 如果您使用 ClipPeaksAndSubpeaks 選項,則可以針對裁剪值上限和下限指定不同的取代值。

    支援下列取代值:

    • 閾值:將裁剪的值取代為指定的閾值。

    • 平均值:將裁剪的值取代為資料行值的平均值。 平均值是在裁剪值之前進行計算。

    • 中間值:將裁剪的值取代為資料行值的中間值。 中間值是在裁剪值之前進行計算。

    • 遺漏. 將裁剪的值取代為遺漏 (空白) 值。

  8. 新增指標資料行:如果您想要產生新的資料行,告訴您指定的裁剪作業是否套用到該資料列中的資料,請選取此選項。 當您測試一組新的裁剪和替代值時,這個選項特別有用。

  9. 覆寫旗標:指出您要如何產生新值。 根據預設,裁剪值會建立新的資料行,其中尖峰值會裁剪為所需的閾值。 新值會覆寫原始資料行。

    若要保留原始資料行並新增具有裁剪值的新資料行,請取消選取此選項。

  10. 執行實驗。

    以滑鼠右鍵按一下 [ 剪輯值 ] 模組的輸出,然後選取 [ 視覺化 ] 來檢查值,並確定裁剪作業符合您的期望。

範例

若要查看如何在機器學習實驗中使用此模組,請參閱 Azure AI 資源庫

  • 樹系火災極端值:此範例來自于資料科學中的 EdX couse 示範如何使用樹系引發範例資料集來裁剪方法。

使用百分位數裁剪

為了瞭解如何依百分位數來裁剪,假設資料集有 10 個資料列,每一個值 1-10 各有一個執行個體。

  • 如果您使用百分位數做為臨界值上限,並決定值為第 90 個百分位數,則資料集的所有值中,90% 必須小於該值。

  • 如果您使用百分位數做為臨界值下限,並決定值為第 10 個百分位數,則資料集的所有值中,10% 必須小於該值。

  1. 在 [臨界值設定] 中,選擇 [ClipPeaksAndSubPeaks]

  2. 針對 [閾值上限],選擇 [百分位數],而針對 [百分位數],則輸入 90。

  3. 針對 [替代值上限],選擇 [遺漏值]。

  4. 在 [臨界值下限] 中選擇 [百分位數],在 [百分位數] 中輸入 10。

  5. 針對 [替代值下限],選擇 [遺漏值]。

  6. 取消選取 [覆寫旗標] 選項,並選取 [新增指標資料行] 選項。

現在,使用 60 做為百分位數臨界值上限和 30 做為百分位數臨界值下限,嘗試進行相同的實驗,並使用臨界值做為取代值。 下表比較這兩個結果:

  1. 取代遺漏;臨界值上限 = 90;臨界值下限 = 10

  2. 取代臨界值;百分位數上限 = 60;百分位數下限 = 30

原始資料 取代遺漏 取代臨界值
1

2

3

4

5

6

7

8

9

10
TRUE

true

3, FALSE

4, FALSE

5, FALSE

6, FALSE

7, FALSE

8, FALSE

9, FALSE

true
4, TRUE

4, TRUE

4, TRUE

4, TRUE

5, FALSE

6, FALSE

7, TRUE

7, TRUE

7, TRUE

7, TRUE

技術說明

  • 您只能在包含數位或日期/時間值的資料行上使用 [ 裁剪值 ]。

  • 如果您包含具有文字或類別資料的資料行,將會略過這些資料行。

  • 計算資料行的平均數或中位數時會忽略遺漏值。

  • [裁剪值] 不支援序數資料。

  • 遺渥值傳播至輸出資料集時不會變更。 指出裁剪值的資料行一律包含 FALSE 來代表遺漏值。

預期的輸入

名稱 類型 說明
資料集 資料表 輸入資料集

模組參數

名稱 範圍 類型 預設 描述
加入指標資料行 TRUE/FALSE Boolean FALSE 是否要加入指標以進行值的剪切
下限臨界值的常數值 任意 Float -1 將會裁剪 subpeaks 的值
上限臨界值的常數值 任意 Float 1 將會裁剪尖峰的上方值
下限臨界值的常數值 任意 Float -1 Subpeaks 要裁剪的值
上限臨界值的常數值 >=1 Float 1 已裁剪尖峰的上方值
資料行清單 ColumnSelection 要裁剪的資料行清單
較低的替代值 臨界值

平均數

Median

Missing
SubstituteValues 臨界值 用於裁剪 subpeaks 的值
下限臨界值 常數

百分位數
閾值模式 常數 Subpeaks 將會被裁剪模式的值
覆寫旗標 TRUE/FALSE Boolean TRUE (s 的裁剪資料行) 必須覆寫輸入資料行 (s)
下限臨界值的百分位數數字 [1; 99] 整數 1 將會裁剪 subpeaks 的百分位數
上限臨界值的百分位數數字 [1; 99] 整數 99 將會裁剪尖峰的百分位數
下限臨界值的百分位數數字 [1; 99] 整數 1 Subpeaks 被剪下的百分位數
上限臨界值的百分位數數字 [1; 99] 整數 99 已裁剪尖峰的百分位數
臨界值的集合 ClipPeaks

ClipSubPeaks

ClipPeaksAndSubPeaks
閾值設定 ClipPeaks 指定要使用的閾數值型別
peaks 的替代值 臨界值

平均數

Median

Missing
SubstituteValues 臨界值 裁剪尖峰期間使用的值
Subpeaks 的替代值 臨界值

平均數

Median

Missing
SubstituteValues 臨界值 裁剪期間使用的值 subpeaks
臨界值 常數

百分位數
閾值模式 常數 高於和低於此值的尖峰將會裁剪模式
上方替代值 臨界值

平均數

Median

Missing
臨界值 臨界值 用於裁剪尖峰的值
上限臨界值 常數

百分位數
閾值模式 常數 高於此值的尖峰將會裁剪模式

輸出

名稱 類型 說明
結果資料集 資料表 含裁剪資料行的資料集

例外狀況

例外狀況 描述
錯誤 0011 如果傳遞的資料行集引數不適用於任何資料集資料行,就會發生例外狀況。
錯誤 0017 如果一或多個指定的資料行具有目前模組不支援的類型,就會發生例外狀況。

如需 Studio (傳統) 模組特定的錯誤清單,請參閱機器學習錯誤碼

如需 API 例外狀況的清單,請參閱機器學習 REST API 錯誤碼

另請參閱

擴充和縮減
A-Z 模組清單