數據預處理背景
大數據項目開發流程
數據質量
-
准確性:數據是正確的,數據存儲在數據庫中的值對應於真實世界的值。
數據不准確的原因
- 數據收集設備故障。
- 數據輸入錯誤。
- 數據傳輸過程出錯。
- 命名約定、數據輸入、輸入字段格式不一致。
-
相關性:指數據與特定的應用和領域有關。
相關性應用場景
- 構造預測模型時,需要采集與模型相關的數據。
- 相同的數據再不同的應用場景,相關性也是不一樣的。
-
完整性:指信息具有一個實體描述的所有必需的部分,在傳統關系型數據庫中,完整性通常與空值(NULL)有關。一般包括記錄的缺失和記錄屬性的缺失。
數據不完整原因
- 涉及隱私,無法獲取相關屬性。
- 數據輸入時由於人為疏忽。
- 數據輸入時由於機器故障。
-
時效性:指數據僅在一定時間段內對決策具有價值的屬性。數據的時效性很大程度上制約了決策的客觀效果。
相關場景:
- 城市交通。
- 商品推薦。
-
一致性:在數據庫中,不同地方存儲和使用的同一數據應當是等價的,表示數據有相等的值和相同的含義。
常見不一致情況
- 邏輯不一致。
- 記錄規范不一致:同一個數據,在不同的地方顯示存儲不一致,比如男女存儲。
-
可信性可解釋性
可行性
- 數據來源的權威性。
- 數據的規范性。
- 數據產生的時間。
可解釋性
- 反應數據是否容易理解。
數據預處理目的
數據預處理的目的就是提升數據質量。
重要性:數據預處理是數據挖掘中必不可少的關鍵一步,更是進行數據挖掘前的准備工作。
目的
- 達到改進數據的質量,提高數據挖掘過程的准確率和效率。
- 保證數據挖掘的正確性和有效性。
- 通過對數據格式和內容的調整,使得數據更符合挖掘的需要。
數據預處理的流程
1. 數據清理
清理臟數據:由於重復錄入,並發處理等不規范的操作,導致產生不完整,不准確的,無效的數據。
1.1 缺失值處理
現有數據集中某個或某些屬性的值是不完整的。
缺失值處理方法
- 忽略元組
- 人工填寫
- 使用全局常量替換空缺值
- 屬性的中心度量來填充
- 使用於給定元組同一類的所有樣本中心度量值
- 使用最可能的值
1.2 噪聲處理
不准確的值或明顯錯誤的值。通過噪聲處理降低對數據分析和結果的分析。
噪聲數據產生
- 數據收集工具的問題。
- 數據輸入錯誤。
- 數據傳輸錯誤。
- 技術的限制。
- 命名規則不一致。
噪聲處理的方法:
-
分箱法:通過考察數據的近鄰值來光滑有序數據值。
舉例:8、24、15、41、6、10、18、67、25等9個數。
排序:6、8、10、15、18、24、25、41、67。
分箱: 箱1: 6、8、10
箱2: 15、18、24
箱3: 25、41、67
分別用三種不同的分箱法求出平滑存儲數據的值:
平均值:8 箱1: 8,8,8。
中值: 18 箱2: 18,18,18 。
邊界值:6、67 箱3:25,25,67,箱中的最大和最小值被視為箱邊界。 -
回歸
-
聚類
2. 數據集成
將互相關聯的分布式異構數據源集成到一起,使用戶能夠以透明的方式訪問這些數據源。
2.1 數據集成方法
- 聯邦數據庫:各數據源的數據視圖,集成為全局模式。
- 中間件集成:通過統一的全局數據模型,來訪問異構的數據源。
- 數據復制:將各個數據源的數據復制,到同一處,即數據倉庫。
2.2 集成過程要處理的問題
- 實體識別:匹配多個信息源在現實世界中的等價實體。
- 冗余與相關分析:屬性重復,屬性相關冗余,元組重復。
- 數據沖突和檢測: 對現實世界的同一實體,來自不同數據源的屬性定義不同。原因:表示方法,度量單位、編碼或比例的差異
3. 數據變換
3.1 轉換目的
將數據轉換或統一成易於進行數據挖掘的數據存儲形式,使得挖掘過程可能更有效。
3.2 方法策略
- 光滑:去掉數據中的噪音。
- 屬性構造:由給定的屬性構造新的屬性並添加到屬性集中,幫助數據分析和挖掘。
- 聚集:對數據進行匯總或聚集
- 規范化:將屬性數據按比例縮放,使之落入一個小的特定區間
- 離散化:數值屬性用區間標簽或概念標簽替換。
- 由標稱數據產生概念分層:屬性,如street,可以泛化到較高的概念層,如city或country
4 數據歸約
由於在現實場景中,數據集是很龐大的,數據是海量的,在整個數據集上進行復雜的數據分析和挖掘需要花費很長的時間。
為了幫助從原有龐大數據集中獲得一個精簡的數據集合,並使這一精簡數據集保持原有數據集的完整性,這樣在精簡數據集上進行數據挖掘顯然效率更高,並且挖掘出來的結果與使用原有數據集所獲得結果是基本相同。
4.1 數據歸約分類
- 維歸約:用於檢測並刪除不相關、弱相關或冗余的屬性。
- 數量歸約:用替代的、較小的數據表示形式替換原數據,來減少數據量。
- 數據壓縮:用數據編碼或數據轉換將原來的數據集合壓縮為一個較小規模的數據集合。