剪輯值

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

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

注意

適用于 : Machine Learning Studio (傳統)

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

模組概觀

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

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

如何設定剪輯值

開始之前,請先找出您想要裁剪的資料行,以及要使用的方法。 建議您先對一小部分的資料測試任何裁剪方法。

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

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

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

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

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

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

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

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

  4. 根據您在上一個步驟中選取的專案,您可以設定下列臨界值:

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

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

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

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

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

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

  7. 定義替代值。

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

    • 尖峰值替換為值:定義值來取代大於指定之臨界值的所有資料行值。
    • Subpeaks 的替代值:定義要用來替代小於指定之臨界值之所有資料行值的值。
    • 如果您使用 ClipPeaksAndSubpeaks 選項,您可以針對上方和較低的裁剪值指定不同的取代值。

    以下是支援的取代值:

    • 閾值:以指定的臨界值取代裁剪的值。

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

    • 位數:以資料行值的中位數取代裁剪的值。 中間值會先計算,然後才會裁剪值。

    • 遺漏。 以遺漏的 (空白) 值取代裁剪的值。

  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 來代表遺漏值。

預期的輸入

名稱 類型 Description
資料集 資料表 輸入資料集

模組參數

Name 範圍 類型 預設 描述
加入指標資料行 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
臨界值 臨界值 用於裁剪尖峰的值
上限臨界值 常數

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

輸出

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

例外狀況

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

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

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

另請參閱

調整規模並減少
A-Z 模組清單