正規化資料元件

本文描述 Azure Machine Learning 設計工具中的一個元件。

使用此元件可透過正規化來轉換資料集。

正規化是一種技術,通常會在機器學習的資料準備過程中套用。 正規化的目標是要將資料集中數值資料行的值變更為使用一般縮放,而不會在值範圍下產生扭曲差異或遺失資訊。 某些演算法也需要正規化,才能正確地為資料建立模型。

例如,假設您的輸入資料集包含一個資料行,其值範圍從 0 到 1,而另一個資料行的值範圍從 10,000 到 100,000。 嘗試在模型化期間將值結合成特徵時,數值量表的大幅差異可能會造成問題。

正規化可避免這些問題,方法是建立新的值,以在來源資料中保有一般分佈和比例,同時將量表內的值對模型中所使用的所有數值資料行套用。

此元件提供用於轉換數值資料的數個選項:

  • 您可以將所有值變更為 0-1 量表,或藉由將它們以百分位數排名而非絕對值表示來轉換值。
  • 您可以將正規化套用至單一資料行,或相同資料集中的多個資料行。
  • 如果您需要重複管線,或將相同的正規化步驟套用至其他資料,您可以將步驟儲存為正規化轉換,然後將其套用至具有相同結構描述的其他資料集。

警告

有些演算法會要求在定型模型之前必須先將資料正規化。 其他演算法則會執行其本身的資料調整或正規化。 因此,選擇要在建置預測性模型中使用的機器學習演算法時,請務必先檢閱演算法的資料需求,然後再將正規化套用至定型資料。

設定正規化資料

使用此元件時,您一次只能套用一個正規化方法。 因此會將相同的正規化方法套用至您選取的所有資料行。 若要使用不同的正規化方法,請使用正規化資料的第二個執行個體。

  1. 正規化資料元件新增至您的管線。 您可以在 Azure Machine Learning 的 [縮放和縮減] 類別中的 [資料轉換] 元件下找到該元件。

  2. 連接包含至少一個全為數字資料行的資料集。

  3. 使用資料行選取器來選擇要正規化的數值資料行。 如果您未選擇個別資料行,則預設會包含輸入中的所有數值類型資料行,並將相同的正規化程序套用至所有選取的資料行。

    如果您包含不應該正規化的數值資料行,這可能會導致奇怪的結果! 一律仔細檢查資料行。

    如果未偵測到任何數值資料行,請檢查資料行中繼資料,以驗證資料行的資料類型是支援的數值類型。

    提示

    若要確保提供特定類型的資料行做為輸入,請先嘗試使用選取資料集中的資料行元件,然後再執行正規化資料

  4. 核取時對常數資料行使用 0:當任何數值資料行包含單一不變的值時,請選取此選項。 這可確保在正規化作業中不會使用這類資料行。

  5. 從 [轉換方法] 下拉式清單中,選擇要套用至所有選取資料行的單一數學函數。

    • Zscore:將所有值轉換為 z 分數。

      資料行中的值會使用下列公式進行轉換:

      使用 z-scores 正規化

      平均值和標準差會針對每個資料行而分開計算。 使用母體擴展標準差。

    • MinMax:min-max 正規器會以線性方式將每個特徵重新調整為 [0,1] 間隔。

      轉換每個特徵的值而使最小值為 0,然後再除以新的最大值 (這是原始最大值與最小值之間的差異),重新調整為 [0,1] 間隔的作業即完成。

      資料行中的值會使用下列公式進行轉換:

      使用 min-max 函數正規化

    • Logistic:資料行中的值會使用下列公式進行轉換:

      依羅吉斯函數的正規化公式

    • LogNormal:此選項會將所有的值轉換為對數量表。

      資料行中的值會使用下列公式進行轉換:

      公式 log-normal 分佈

      這裡的 μ 和 σ 是分佈的參數,針對每個資料行而分開計算,從資料中根據實證以最大可能性估計來計算。

    • TanH:所有值都會轉換為雙曲正切。

      資料行中的值會使用下列公式進行轉換:

      使用 tanh 函數正規化

  6. 提交管線,或按兩下 [正規化資料] 元件,然後選取 [執行選取者]。

結果

正規化資料元件會產生兩個輸出:

  • 若要檢視轉換的值,請在元件上按一下滑鼠右鍵,然後選取 [視覺化]。

    預設會就地轉換值。 如果您想要將轉換的值與原始值比較,請使用新增資料行元件來重新合併資料集,並且並排檢視資料行。

  • 若要儲存轉換,使得您可以將相同的正規化方法套用至另一個資料集,請選取該元件,然後在右側面板中的 [輸出] 索引標籤下選取 [註冊資料集]。

    然後,您可以從左側瀏覽窗格的 [轉換] 群組載入已儲存的轉換,然後使用套用轉換將它套用至具有相同結構描述的資料集。

後續步驟

請參閱 Azure Machine Learning 可用的元件集