準備用於機器處理的資料

視您的下游系統而定,您可能必須將資料轉換為預期格式的數字值,或是將數字值的分佈標準化。本節說明摘列出一些常見的統計轉換指令,您可以將這些指令套用至欄位式資料,以便用於下游分析系統。

縮放

您可以使用下列任何一項技巧縮放資料欄中的值。

縮放為零均值及單位變異數

零均值及單位變異數縮放功能會轉譯組合中的值,使其符合平均值為 0、變異數為 1 的常態分佈。基於統計目的將值正規化為常態分佈時,這項技巧是常用標準。

在下列範例中,POS_Sales 資料欄內的值經過正規化後,平均值為 0,變異數為 1

  • 移除平均值:如果選取這個選項,系統會將現有值的平均值 (平均數) 當做分佈曲線的中心。

    附註:透過移除平均值的方式重新定位稀疏資料的中心,可能會消除稀疏性。

  • 縮放為單位變異數:如果選取這個選項,系統會縮放值的範圍,使其變異數成為 1;如果取消選取這個選項,就會維持現有的變異數。

    附註:管理離群值時可能無法順利縮放為單位變異數。與管理離群值相關的其他技巧會於下方進行概述。

轉換名稱 Scale column
參數:資料欄 POS_Sales
參數:縮放方法 Scale to zero mean and unit variance
參數:移除平均值 false
參數:縮放為單位變異數 true
參數:輸出選項 Create new column
參數:新資料欄名稱 scale_POS_Sales

縮放至指定的最小-最大範圍

您可以縮放資料欄值,以符合指定的最小值及最大值。針對標準差值非常小的分佈,又或者是想保留稀疏資料中的 0 值時,都可以使用這項實用技巧。

下列範例示範如何將 TestScores 資料欄內的值縮放至 01 的範圍之間 (包含首尾)。

轉換名稱 Scale column
參數:資料欄 TestScores
參數:縮放方法 Scale to a given min-max range
參數:最小值 0
參數:最大值 1
參數:輸出選項 Replace current column

離群值

您可以運用幾項技巧從資料集中找出統計離群值,並依照您的需求管理這些值。

找出離群值

假設您需要從資料欄中移除離群值,且所有值呈常態鐘型分佈,您可以使用下列公式計算特定資料欄值和資料欄平均值 (平均數) 之間相差幾個標準差。在本範例中,來源資料欄為 POS_Sales

轉換名稱 New formula
參數:公式類型 Multiple row formula
參數:公式 (ABS(POS_Sales - AVERAGE(POS_Sales))) / STDEV(POS_Sales)
參數:新資料欄名稱 stdevs_POS_Sales

移除離群值

新的 stdevs_POS_Sales 資料欄現在會列出 POS_Sales 中的值和平均值之間相差的標準差數。您可以使用下列轉換指令將此資料欄中包含離群值的資料列移除。

提示:想要選取離群值,更簡單的做法是在 stdevs_POS_Sales 資料欄直方圖中選取特定範圍的值,然後再透過建議選項刪除這些資料列。將實際使用的公式加入方案前,您可以先對該公式進行編輯。

POS_Sales 中任何資料列的值如果和平均值相差超過四個標準差,下列轉換指令就會將其刪除:

轉換名稱 Filter rows
參數:條件 Custom formula
參數:公式類型 Custom single
參數:條件 4 <= stdevs_POS_Sales
參數:動作 Delete matching rows

將離群值變更為平均值

您也可以將離群值設為平均值 (平均數) 以消除離群值的影響,並保留資料列中其他資料欄的資料。

轉換名稱 Edit with formula
參數:資料欄 POS_Sales
參數:公式 IF(stdevs_POS_Sales > 4, AVERAGE(POS_Sales), POS_Sales)

特徵分塊

您可以修改資料,以確保資料符合同等大小或是自訂大小的特徵分塊。舉例來說,您範圍中的最小值會標記於 0 特徵分塊中,較大的值則會標上更大的特徵分塊編號。

同等大小的特徵分塊

您可以將數字值分配至同等大小的數個特徵分塊。假設您的資料欄中包含數字值 0-1000,您可以建立以 100 為範圍的 10 個同等大小特徵分塊,將值分配於其中。

轉換名稱 Bin column
參數:資料欄 MilleBornes
參數:選取選項 Equal Sized Bins
參數:特徵分塊數量 10
參數:新資料欄名稱 MilleBornesRating

自訂大小的特徵分塊

您也可以建立自訂大小的特徵分塊。在下列範例中,TestScores 資料欄分為以下特徵分塊;在稍後的步驟中,這些特徵分塊會對應至成績:

特徵分塊特徵分塊範圍特徵分塊編號成績
590-590F
6960-691D
7970-792C
8980-893B
90+4A
(空值) I

首先,為值分配上方列出的特徵分塊編號:

轉換名稱 Bin column
參數:資料欄 TestScores
參數:選取選項 Custom bin size
參數:特徵分塊 59,69,79,89
參數:新資料欄名稱 Grades

接著,您就可以使用下列轉換指令為 Grades 資料欄指派字母:

轉換名稱 Conditions
參數:條件類型 Case on single column
參數:要評估的資料欄 Grades
參數:案例 - 0 'F'
參數:案例 - 1 'D'
參數:案例 - 2 'C'
參數:案例 - 3 'B'
參數:案例 - 4 'A'
參數:預設值 'I'
參數:新資料欄名稱 Grades_letters

one-hot 編碼

one-hot 編碼是指將特定資料欄中列出的值發佈至數個個別資料欄。視資料欄中的值是否出現在對應的來源資料欄而定,個別資料欄中的每個資料列會顯示 01,來源資料欄則不會受到影響。這種編碼方式可以讓目標系統更容易使用資料。

提示:這個轉換指令特別適合用於包含有限列舉值的資料欄。

在下列範例中,系統會將 BrandName 資料欄中的值發佈至不同的二進位值資料欄,並限制最多 50 個新資料欄。

附註:將這個轉換指令套用至含有多種值 (例如小數值) 的資料欄時,請格外小心,您的資料集大小可能會大幅增加。請使用資料欄數上限設定限制資料集的增長幅度。

轉換名稱 One-hot encoding of values to columns
參數:資料欄 BrandName
參數:要建立的資料欄數上限 50

提示:如有需要,您可以在產生的結果資料欄名稱之前加上來源資料欄的參照。請參閱重新命名資料欄

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁