官术网_书友最值得收藏!

任務1.3 認識大數據預處理

1.3.1 任務描述

當通過各種數據采集方法采集到數據后,這些數據通常包含不必要的數據或者不完整、不一致的臟數據,無法直接使用,需要對數據進行預處理。本次任務是認識大數據預處理的主要過程及目標。

1.3.2 知識準備

數據預處理是指在對數據進行數據挖掘和存儲之前,先對原始數據進行必要的清洗、集成、轉換、離散和規約等一系列處理工作,達到使用數據挖掘算法進行知識獲取研究要求的最低規范和標準。數據預處理是進行數據挖掘和利用之前很重要的一環。

從現實生活中采集到的數據由于各種原因,會出現數據不完整、數據類型不一致、數據冗余和數據模糊等現象,這種數據一般稱為“臟”數據。這樣的數據很少能直接滿足數據應用要求。另外,海量的數據中無意義的成分很多,嚴重影響了數據應用執行效率,造成數據效果偏差。因此,需要對不理想的原始數據進行有效預處理。數據預處理技術可以提高數據質量,有助于提高數據處理任務的準確率和效率,已經成為大數據處理技術中很重要的一步。

數據預處理的基本任務主要包括數據清洗(Data Cleaning)、數據集成(Data Integration)、數據規約(Data Reduction)和數據轉換(Data Transformation),如圖1-11所示。

圖1-11 數據預處理基本任務

1.3.3 任務實施

本任務由以下活動完成。

活動1 了解數據清洗(Data Cleaning)內容

數據清洗主要是將不同來源、不同數據格式或模式的數據按照一定的規則發現并糾正數據文件中可識別的錯誤,包括檢查數據一致性,處理無效值和缺失值等,并對無效數據和缺失數據進行處理的過程。

數據清洗是數據預處理過程中很重要的一步。數據清洗可以有效避免學習過程中可能出現的相互矛盾的情況。數據清洗的目的不只是要消除錯誤、冗余和數據噪音,其目的是要使按不同的、不兼容的規則所得的各種數據集一致化。數據清洗處理過程通常包括填補遺漏的數據值,平滑有噪聲數據,識別或除去異常值,以及解決不一致問題。

需要數據清洗的數據類型主要有不完整數據、錯誤數據、重復數據3大類。

1)不完整數據:顧名思義就是數據有缺失,數據不完整,比如一條數據表中的某條記錄,其中有幾個字段的內容缺失,這條記錄就是不完整數據記錄,如圖1-12所示。

圖1-12 不完整數據記錄

2)錯誤數據:錯誤數據主要指數據類型和輸入格式不正確,比如數值數據在采集過程中數字字符及日期格式不正確等。錯誤數據示例如圖1-13所示。

圖1-13 錯誤數據示例

3)重復數據:在相同的文件中,重復收集相同的數據條目,比如數據庫中重復出現相同記錄等。

數據清洗的主要方法是通過填補缺失值,刪除缺失項,光滑噪聲數據,平滑或刪除離群點,解決數據的不一致性問題。

活動2 了解數據集成(Data Integration)內容

數據集成(Data Integration)是將不同來源格式、特點性質的數據在邏輯上或物理上有機地整合在一個數據集中,形成一致的數據存儲過程。通過綜合數據源,將擁有不同結構、不同屬性的數據整合在一起,對外提供統一的訪問接口,實現數據共享。數據集成模式如圖1-14所示。

圖1-14 數據集成模式

例如,許多互聯網應用(包括機票、酒店、餐飲、租房、商品比價等服務)就是將來自不同數據源的數據進行有效集成,對外提供統一的訪問服務。

1. 數據源的差異性

數據集成要解決的首要問題是各個數據源之間的差異性。數據源之間的差異性如表1-5所示。

表1-5 數據源之間的差異性

2. 數據集成模式

數據集成模式主要有3種,分別是聯邦數據庫(Federated Database)、數據倉庫(Data Warehousing)、中介者(Mediation)。

1)聯邦數據庫

聯邦數據庫就是各數據源自治,沒有全局數據模式。各個數據節點源使用的數據模式相互不受影響,如圖1-15所示。

圖1-15 聯邦數據庫模式圖

聯邦數據庫是簡單的數據集成模式。它需要軟件在每對數據源之間創建映射(Mapping)和轉換(Transform)。該軟件稱為包裝器(Wrapper)。當數據源X需要和數據源Y進行通信和數據集成時,才需要建立X和Y之間的包裝器。聯邦數據庫數據集成方式如圖1-16所示。

圖1-16 聯邦數據庫數據集成方式

當有很多的數據源僅僅需要在少數幾個數據源之間進行通信和集成時,聯邦數據庫是比較適宜的模式。但是如果我們需要在很多數據源之間進行通信和數據交換時,就需要建立大量的Wrapper。例如,在n個數據源的情況下,最多需要建立(n(n-1))/2個Wrapper,這將是非常繁重的工作。如果有數據源發生變化,需要修改映射和轉換機制,對大量的Wrapper進行更新很困難。

2)數據倉庫

數據倉庫是通用的一種數據集成模式。在數據倉庫模式中,會從各個數據源拷貝數據,經過轉換,存儲到一個目標數據庫中。數據倉庫模式圖如圖1-17所示。

圖1-17 數據倉庫模式圖

從各數據源收集數據后,會通過ETL完成數據倉庫集成。

ETL是Extract(抽取)、Transform(轉換)、Load(裝載)的縮寫。ETL過程在數據倉庫之外完成。數據倉庫負責存儲數據,以備查詢。

① 抽取:將數據從原始的數據業務中讀取出來。

② 轉換:按照預先設計好的規格將抽取的數據進行轉換、清洗,以及冗余處理,將有差異的數據格式統一處理。

③ 裝載:將轉換完成的數據按計劃增量或全部導入數據倉庫中。

在數據倉庫模式下,數據集成過程是一個ETL過程。它需要解決各個數據源之間的異構性和不一致性。同時,同樣的數據被復制了兩份:一份在數據源里;一份在數據倉庫里。

3)中介者

數據集成的中介者模式,如圖1-18所示:

圖1-18 中介者模式圖

中介者(Mediator)扮演的是數據源的虛擬視圖(Virtual View)的角色。中介者本身不保存數據,數據仍然保存在數據源中。中介者維護一個虛擬的數據模式(Virtual Schema),它把各個數據源的數據模式組合起來。

數據映射和傳輸在查詢時刻(Query Time)才真正發生。

當用戶提交查詢時,查詢被轉換成對各個數據源的若干查詢。這些查詢分別發送到各個數據源,由各個數據源執行這些查詢,并返回結果。各個數據源返回的結果經合并后,返回給最終用戶。

3. 活動效果評價

本次活動有助于讀者了解以下知識。

1)數據集成的主要模式有聯邦數據庫(Federated Database)、數據倉庫(Data Warehousing)、中介者(Mediation)。

2)數據集成的主要目的是解決數據差異性。

活動3 了解數據規約(Data Reduction)方式

數據規約用于幫助從原有龐大數據集中獲得一個精簡的數據集合,并使精簡后的數據集保持原有數據集的完整性,提高數據挖掘效率。同時,使用數據規約的挖掘效果與使用原有數據所獲得的結果基本相同。

例如,一個公司的數據倉庫有非常龐大的數據集,在這樣的海量數據集上進行復雜的數據分析和挖掘將花費很長時間,通常也不可行,而數據規約在盡可能保持數據原貌的前提下,可以最大限度地精簡數據量。

數據規約主要通過數值聚集、刪除冗余特性的辦法壓縮數據,提高挖掘模式的質量,降低時間復雜度,得到數據集的規約。在盡可能保持數據原貌的前提下,最大限度地精簡數據量。雖然規約數據體量小,但仍可以大致保持原始數據的完整性。這樣,在規約后的數據集上挖掘會更有效,并可以產生相同(或幾乎相同)的分析結果。

數據規約的途徑主要有屬性選擇和數據采樣,分別對數據中的屬性和記錄進行規約。數據規約方法類似數據集的壓縮,它通過減少維度或者減少數據量,來達到降低數據規模的目的。主要方法如下。

1)維度規約(Dimensionality Reduction):減少所需自變量的個數,通過刪除不相干的額外屬性和維數減少數據量。代表方法為WT、PCA與FSS。

2)數量規約(Numerosity Reduction):使用較小的數據替換原始數據。數值規約分為有參方法和無參方法。

① 有參方法使用一個參數模型估計數據,最后只要存儲參數即可。常用技術有線性回歸方法、多元回歸方法、對數線性模型等。

② 無參方法代表有對數線性回歸、聚類、抽樣等。

3)數據壓縮:通過使用數據編碼或變換方式,得到原始數據的壓縮結果。數據壓縮(Data Compression)類型分為無損壓縮與有損壓縮。典型的有字符串壓縮和音頻/視頻壓縮。

① 字符串壓縮通常指無損壓縮。在解壓縮前,對字符串的操作非常有限;字符串壓縮具有廣泛的理論基礎和成熟的算法。

② 音頻/視頻壓縮通常指有損壓縮。主要方法有小波變換和主要成分分析。

活動4 數據轉換(Data Transformation)方式

數據轉換就是將數據轉換或歸并以構成一個適合數據挖掘的描述形式。數據轉換包括對數據進行規范化、離散化、稀疏化處理,達到適用于挖掘的目的。例如,將屬性數據按比例縮放,使之落入一個比較小的特定區間。比如將以下數據按照一定比例縮小100倍。

數據轉換的一般方法如表1-6所示。

表1-6 數據轉換的一般方法

在數據轉換中,常用的方法有平滑處理、規格化處理、合計處理等。規格化處理有最大最小規格化方法、零均值規格化方法、十基數變換規格化方法。

1. 最大最小規格化方法

利用最大最小規格化方法將表1-7中某月商品銷售額屬性的值映射到0到1范圍內。

表1-7 某月商品銷售表

1)確定表1-7中銷售額屬性的最大值和最小值分別是6 781萬元和1 106萬元。計算公式定義為(待轉換屬性值-屬性最小值)/(屬性最大值-屬性最小值)×(映射區間最大值-映射區間最小值)+映射區間最小值。例如,對客戶ID為曾惠的銷售額計算公式如下:

(3 856-1 106)/(6 781-1 106)×(1-0)+0=0.48

2)依次類推,通過最大最小規格化轉化銷售額數據結果,如表1-8所示。

表1-8 某月銷售數據轉換表

3)通過最大最小規格化處理后,將需要處理的銷售額數據轉換成0到1之間的數據。

2. 零均值規格化方法

零均值規格化方法是指根據某個屬性的平均值和平方差來對該屬性的值進行規格化處理。計算公式為(待轉換屬性值-屬性平均值)/屬性標準差。

數據示例表如表1-9所示。

表1-9 數據示例表

1)計算各屬性均值:屬性均值計算公式如下。

例如,屬性1的平均值計算結果是177.571 4。

這樣計算得到的各屬性平均值如表1-10所示。

表1-10 各屬性平均值

2)計算各屬性的屬性標準差:屬性標準差在數學上定義為方差的平方根公式。

例如,屬性1的屬性標準差計算結果是

同理,各屬性標準差如表1-11所示。

表1-11 各屬性標準差

3)根據規格化公式:(待轉換屬性值-屬性平均值)/屬性標準差,計算屬性值。

如屬性1第一個值為78,根據公式(78-177.571 4)/43.706 815 42=-0.905 383,依次計算最終轉換結果,如表1-12所示。

表1-12 數據轉換結果表

3. 十基數變換規格化方法

十基數變換規格化方法是以十進制為基數,通過移動待轉換屬性值的小數點位置來實現規格化的目的。移動的小數位數取決于屬性絕對值的最大值。

假設屬性的取值范圍是-869~693,則該屬性絕對值的最大值為869。屬性的值為354時,對應的轉換結果如下。

354/103=0.354

計算公式是待轉換屬性值/10i。其中,i為能夠使該屬性絕對值的最大值(869)小于1的最小值。

活動效果評價

通過這個活動,可以幫助讀者了解以下信息。

1)數據轉換常用的方法有平滑處理、規格化處理、合計處理等。

2)規格化處理方法有最大最小規格化方法、零均值規格化方法、十基數變換規格化方法。

3)了解最大最小規格化方法過程。

4)了解零均值規格化方法過程。

1.3.4 任務效果

本次活動有助于讀者學習以下知識。

1)理解數據預處理過程;

2)理解數據集成的含義;

3)了解數據轉換常用方法;

4)了解數據規約主要目的。

主站蜘蛛池模板: 定西市| 射阳县| 化州市| 荣成市| 威海市| 天峻县| 盈江县| 赤城县| 榆中县| 洮南市| 台北市| 紫金县| 西乌珠穆沁旗| 辉南县| 加查县| 济源市| 固阳县| 元阳县| 大兴区| 门头沟区| 永嘉县| 青海省| 定州市| 福安市| 大兴区| 长沙县| 定兴县| 鲁甸县| 增城市| 东辽县| 富源县| 新绛县| 蒙城县| 兰溪市| 黑河市| 德江县| 陈巴尔虎旗| 麻栗坡县| 河津市| 新乡县| 罗平县|