「資料準備和特徵工程機器學習機器學習」課程會說明一般資料準備作業,但本課程會說明叢集專屬準備工作。
在分群中,您可以將這些範例的所有特徵資料合併為數值,藉此計算兩個範例的相似度。合併特徵資料需要資料比例相同。本節會探討正規化、轉換及建立分位數,並探討分位數為何是轉換任何資料分佈的最佳預設選項。預設選項可讓您轉換資料,而不必檢查資料的分佈情形。
正規化資料
您可以將資料正規化,以將多種特徵的資料轉換為相同比例。請特別注意,正規化非常適合處理最常見的資料分佈高斯分佈。與分位數相比,正規化後所需的資料要大幅減少。按以下方式計算 z-score 來將資料正規化:
\[x'=(x-\mu)/\sigma\\ \begin{align*} \text{where:}\quad \mu &= \text{mean}\\ \sigma &= \text{standard deviation}\\ \end{align*} \]
讓我們來看看有和未經過正規化的範例的差異。在圖 1 中,您發現紅色似乎與黃色更像是藍色。 但是,X 軸和 Y 軸上的功能沒有相同比例。 因此,觀察到的相似度可能是未資源調度資料的構件。使用 Z-score 進行正規化後,所有特徵的比例相同。現在,您會發現紅色部分與黃色類似。因此,將資料正規化後,您就可以更準確地計算相似性。
簡單來說,如果符合下列任何一項,請套用正規化功能:
- 您的資料有高斯分佈情形。
- 您的資料集缺少足夠資料以建立分位數。
使用 Log Transform
有時候,資料集符合電力 l分佈情形,導致低端資料變得擁擠。在圖 2 中,紅色比藍色更接近黃色。
使用記錄檔轉換功能處理 Powerlaw 發布。在圖 3 中,記錄轉換會建立更順暢的分佈,紅色則更接近黃色。
使用分位數
正規化和記錄轉換是用來解決特定資料分佈。如果資料不符合高斯或 Powerlaw 發布情形的情況,該怎麼辦?是否有任何方法適用於任何資料分佈?
讓我們嘗試預先處理這個分佈情況。
因此,如果兩個範例之間的範例只有幾個範例,那麼這兩個範例的範例都很類似。反之,如果這兩個範例之間有許多範例,則這兩個範例會不太相似。因此,兩個範例的相似程度會隨著範例範例的數量增加而減少。
正規化資料只是重現資料分佈,因為正規化是一種線性轉換。套用記錄轉換時,並不會反映出您對於相似度的理解程度,如下圖 5 所示。
相反地,請將資料拆分成每個間隔包含相同範例的間隔時間。這些間隔界線稱為「分位數」。
請執行下列步驟,將資料轉換為分位數:
- 決定間隔時間。
- 定義間隔,讓每個間隔的範例相同。
- 將每個範例的時間間隔替換成其所屬的時間間隔。
- 將索引值擴充至 [0,1],將索引的範圍與其他特徵資料相同。
將資料轉換為分位數後,兩個範例的相似性與這兩個範例的範例數量成反比。或者就數學上來說,「x」是資料集中的任何範例:
- \(sim(A,B) \approx 1 − | \text{prob}[x > A] − \text{prob}[x > B] |\)
- \(sim(A,B) \approx 1 − | \text{quantile}(A) − \text{quantile}(B) |\)
分位數是轉換資料的預設選擇。不過,如果您要建立的分位數是基礎資料發布的可靠指標,就需要大量資料。原則上,如要建立 \(n\) 分位數,您至少須有 \(10n\) 個範例。如果沒有足夠資料,請維持「正規化」。
測驗您的理解程度
下列問題假設您有足夠的資料可以建立分位數。
第 1 題
- 資料分佈屬於高斯用語。
- 您已經深入瞭解資料代表的意義,代表您的資料不應以非線性方式轉換。因此,請避免使用分位數並改用正規化。
第 2 題
資料遺漏
如果資料集有某些函式缺少某些值的情況,但這些範例很少發生,你可以移除這些範例。如果這類例子經常出現,您可以選擇全面移除這項功能,或是使用機器學習模型來從其他範例預測缺少的值。舉例來說,您可以使用現有特徵資料訓練的迴歸模型,推論缺少的數值資料。