首頁>技術>

網上很多ETL工程師很焦慮,不知道之後的職業道路怎麼規劃。其實我們需要先內聖,而後外王。ETL工程師往技術方向可以走數倉、數據架構師路線;往算法方向可以走數據挖掘、AI的路線;往業務方向可以走商業數據分析的路線。

回到正題,數據清洗是ETL工程師的核心工作之一我們以終為始,剖析一下數據清洗這件事。

數據清洗的目的可以從兩個角度上看一是為了解決數據質量問題,二是讓數據更適合做挖掘。不同的目的下分不同的情況,也都有相應的解決方式和方法。

解決數據質量問題

這部分主要是規範數據,滿足業務的使用,解決數據質量的各種問題,其目的包括但不限於:

1.數據的完整性----例如人的屬性中缺少性別、籍貫、年齡等

4.數據的合法性----例如獲取的數據與常識不符,年齡大於150歲

數據清洗的結果是對各種髒數據進行對應方式的處理,得到標準的、乾淨的、連續的數據,提供給數據統計、數據挖掘等使用。

那麼為了解決以上的各種問題,我們需要不同的手段和方法來一一處理。

每種問題都有各種情況,每種情況適用不同的處理方法,具體如下:

一、解決數據的完整性問題:

解題思路:數據缺失,那麼補上就好了。補數據有什麼方法?

a.通過其他信息補全,例如使用身份證件號碼推算性別、籍貫、出生日期、年齡等;

b.通過前後數據補全,例如時間序列缺數據了,可以使用前後的均值,缺的多了,可以使用平滑等處理,記得Matlab還是什麼工具可以自動補全;

c.實在補不全的,雖然很可惜,但也必須要剔除。但是不要刪掉,沒準以後可以用得上。

二、解決數據的唯一性問題

解題思路:去除重複記錄,只保留一條。去重的方法有:

a.按主鍵去重,用sql或者excel去除重複記錄”即可;

b.按規則去重,編寫一系列的規則,對重複情況複雜的數據進行去重。例如不同渠道來的客戶數據,可以通過相同的關鍵信息進行匹配,合併去重。

三、解決數據的權威性問題

解題思路:用最權威的那個渠道的數據方法:

對不同渠道設定權威級別。

四、解決數據的合法性問題

解題思路:設定判定規則

1.a.設定強制合法規則,凡是不在此規則範圍內的,強制設為最大值,或者判為無效,剔除;

b.字段類型合法規則:日期字段格式為“2010 -10-10”;

c.字段內容合法規則:性別in(男、女、未知);出生日期<=今天

2.a.設定警告規則,凡是不在此規則範圍內 的,進行警告,然後人工處理

b.。。警告規則:年齡》110

c.離群值人工特殊處理,使用分箱、聚類、迴歸、等方式發現離群值

五、解決數據的一致性問題

解題思路:建立元數據體系,包含但不限於:

1.指標體系(度量)

2.維度(分組、統計口徑)

3.單位

4.頻度

5.數據

供應算法原料

這部分主要是讓數據更適合數據挖掘,作為算法訓練的原料。其目標包括但不限於:

1.高維度----不適合挖掘

2.維度太低----不適合挖掘

3.無關信息----減少存儲

4.字段冗餘--一個字段是其他字段計算出來的,會造成相關係數為1或者主成因分析異常)

5.多指標數值 單位不同----如GDP與城鎮居民人均收入數值相差過大

a.解決高維度問題

解題思路:降維,方法包括但不限於:主成分分析、隨機森林

b.解決維度低或缺少維度問題

解題思路:抽象,方法包括但不限於:

各種彙總,平均、加總、最大、最小等;各種離散化,聚類、自定義分組等;

c.解決無關信息和字段冗餘。

解決方法:剔除字段

d.解決多指標數值、單位不同問題

解決方法:歸一化,方法包括但不限於:最小-最大;零-均值;小數定標。

4
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 萊萬出走並未影響進攻火力,全新進攻體系已成型,需重視防線隱憂