讀書筆記 001 資料預處理 資料清理

2021-07-08 16:50:46 字數 3484 閱讀 7211

1、概述實際的資料庫極易受雜訊、缺失值和不一致資料的侵擾,因為資料庫太大,並且多半來自多個異種資料來源。低質量的資料將會導致低質量的挖掘結果。有大量的資料預處理技術:

- - 資料清理:可以用來清楚資料中的雜訊,糾正不一致。

- - 資料整合:將資料由多個資料來源合併成乙個一致的資料儲存,如資料倉儲。

- - 資料歸約:可以通過如聚集、刪除冗餘特徵或聚類來降低資料的規模。

- - 資料變換:(例如,規範化)可以用來把資料壓縮到較小的區間,如0.0到1.0。

這可以提高設計距離度量的挖掘演算法的準確率和效率。這些技術不是排斥的,可以一起使用。

1.1、資料質量資料如果能滿足其應用的要求,那麼它是高質量的。資料質量涉及許多因素,包括:準確率、完整性、一致性、時效性、可信性和可解釋性。

2、資料清理現實世界的資料一般是不完整的、有雜訊的和不一致的。資料清理例程試圖填充缺失的值、光滑雜訊並識別離群點、糾正資料中的不一致。

2.1、缺失值

如何處理缺失的屬性?我們來看看下面的方法:

1- - - 忽略元組:當缺少類標號時通常這樣做(假設挖掘任務設計分類)。除非元組有多個屬性缺少值,否則更改方法不是很有效。當每個屬性缺失值的百分比變化很大時,他的效能特別差。採用忽略元組,你不能使用該元組的剩餘屬性值。這些資料可能對手頭的任務是有用的。

2- - - 人工填寫缺失值:一般來說,該方法很費事,並且當資料集很大、缺失很多值時該方法可能行不通。

3- - - 使用乙個全域性填充缺失值:將缺失的屬性值用同乙個常量(如:「unknow」或-∞)替換。如果確實的值都如「unknow」替換,則挖掘程式可能誤認為他們形成了乙個有趣的概念,因為他們都具有相同的值 – 「unknow」。因此,儘管該方法簡單,但是並不十分可靠。

4- - - 使用屬性的中心度量(如均值或中位數)填充缺失值:對於正常的(對稱的)資料分布而言,可以使用均值,而傾斜資料分布應該使用中位數。

5- - - 使用與給定元組屬同一類的所有樣本的屬性均值或中位數:

6- - - 使用最可靠的值填充缺失值:可以用回歸、貝葉斯形式化方法的基於推理的工具或決策樹歸納確定。

方法3~方法6使資料有偏,可能填入的資料不準確。然而,方法6是最流行的策略。與其他方法(可能方法2除外)相比,它使用已有資料的大部分資訊來**缺失值。

需要注意的是,在某些情況下,缺失值並不意味著資料有錯誤。理想情況下,每個屬性都應當有乙個或多個空值條件的規則。這些規則可以說明是否允許空值,並且/或者說明這樣的空值應該如何處理或轉換。如果在業務處理的稍後步驟提供值,欄位也可能故意留下空白。因此,儘管在得到資料後,我們可以盡我們所能來清理資料,但好的資料庫和資料輸入設計將有助於在第一現場把缺失值或者錯誤的數量降至最低。

2.2、雜訊資料

雜訊(noise)是被測量的變數的隨機誤差或方差。我們可以使用基本的資料統計描述技術(例如,盒圖或者散點圖)和資料視覺化方法來識別可能代表雜訊的離群點。

1- - - 分箱(bining):分箱方法通過考察資料的「近鄰」(即周圍的值)來光滑有序的資料值。這些有序的值被分布到一些「捅」或箱中。由於分箱方法考察近鄰的值,因此它進行區域性的光滑。

如上圖所示,資料首先排序並被劃分到大小為3的等頻的箱中。對於用箱均值光滑,箱中每乙個值都被替換為箱中的均值。類似的,可以使用用箱中位數光滑或者用箱邊界光滑等等。

2- - - 回歸(regression):可以用乙個函式擬合資料來光滑資料。這種技術稱之為回歸。線性回歸涉及找出擬合兩個屬性(或變數)的「最佳」直線,使得乙個屬性可以用來**另乙個。多元線性回歸是線性回歸的擴充,其中涉及的屬性多餘兩個,並且資料擬合到乙個多維曲面。

3- - - 離群點分析(outlier analysis):可以通過如聚類來檢測離群點。聚類將類似的值組織成群或「簇」。直觀地,落在簇集合之外的值被視為離群點。

2.3、資料清理作為乙個過程

資料清理過程第一步是偏差檢測(discrepancy detection)。導致偏差的因素可能有多種,包括具有很多可選字段的設計糟糕的輸入表單、人為的輸入錯誤、有意的錯誤(例如,不願意洩露個人隱私),以及資料退化(例如,過時的位址)。偏差也可能源於不一致的資料表示和編碼的不一致使用。記錄資料的裝置的錯誤和系統錯誤是另一種偏差源。當資料(不適當地)用於不同於當初的目的時,也可能出現錯誤。資料整合也可能導致不一致(例如,當給定的屬性在不同的資料庫中具有不同的名稱時)。

那麼,如何進行偏差檢測呢?首先,我們明確乙個概念,」關於資料的資料「稱作元資料。例如,每個屬性的資料型別是定義域是什麼?每個屬性可接受的值是什麼?對於把握資料趨勢和識別異常,資料的基本統計描述是有用的。例如,找出均值、中位數和眾數。資料是對稱的還是傾斜的?值域是什麼?所有的值都在期望的區間內嗎?每個屬性的標準差是多少?遠離給定屬性均值超過兩個標準差的值可能標記為可能的離群點。屬性之間存在已知的依賴嗎?在這一步,可以編寫程式或使用稍後我們討論到的工具。由此,你可能發現雜訊、離群點和需要考察的不尋常的值。

1- - - 編碼格式:警惕編碼使用的不一致和資料表示的不一致問題(例如,日期「2015/12/08」和」08/12/2015」);

2- - - 字段過載:開發者將新屬性的定義擠進已經定義的屬性的未使用(位)部分(例如,使用乙個屬性未使用的位,該屬性取值已經使用了32位中的31位)。

1- - - :唯一性規則:給定屬性的每個值都必須不同於該屬性的其他值。

2- - - :連續性規則:屬性的最低值和最高值之間沒有缺失的值,並且所有的值還必須是唯一的(例如,檢驗數).

3- - - :空值規則:說明空白、問號、特殊符號或指示空值條件的其他串的使用(例如,乙個給定屬性的值何處不能用),以及如何處理這樣的值。

1- - - 資料清洗工具(data scrubbing tools):使用簡單的領域知識(郵政位址知識和拼寫檢查),檢查並糾正資料中的錯誤。在清理多個資料來源的資料時,這些工具依賴分析和模糊匹配技術。

2- - - 資料審計工具(data auditing tools):通過分析資料發現規則和聯絡,並檢測違反這些條件的資料來發現偏差。

3- - - 資料遷移工具(data migration tools):允許說明簡單的變換,如將串」gender」用「***」替換。

4- - -etl(extraction/transformation/loading,提取/變換/裝入)工具:允許使用者通過圖形使用者介面說明變換。

通常,這些工具只支援有限的變換,因此我們可能需要為資料清理過程的這一步編寫定製的程式。

偏差檢測和資料變換(糾正偏差) 迭代執行這兩步過程。通常,需要多次迭代才能使使用者滿意。

新的資料清理方法強調加強互動性。例如,potter』s wheel是一種公開的資料清理工具,它整合了偏差檢測和資料變換。

讀書筆記 003 資料預處理 資料歸約

概述 資料歸約 data reduction 技術可以用來得到資料集的歸約表示,它小得多,但是保持原始資料的完整性。也就是說,在歸約後的資料集上挖掘更有效果,仍然產生相同 或幾乎形同 的分析結果。注意 用於資料歸約的時間不應當超過或 抵消 在歸約後的資料探勘上挖掘節省的時間。資料探勘策略包括維歸約 ...

讀書筆記 預處理 巨集定義

1 編譯工具鏈 預處理用預處理器,編譯用編譯器,彙編用彙編器,鏈結用鏈結器,這幾個工具再加上其他一些額外的會用到的可用工具,合起來叫編譯工具鏈。gcc就是乙個編譯工具鏈。2 預處理的意義 1 編譯器本身的主要目的是編譯源 將c的源 轉化成.s的彙編 編譯器聚焦核心功能後,就剝離出了一些非核心的功能到...

讀書筆記 資料探勘概念與技術 資料預處理

資料預處理的目的 提高資料質量,資料質量的三要素 準確性 完整性 一致性。資料預處理的任務 資料清理 填充缺失的值 光滑雜訊 識別離群點 糾正資料中的不一致 忽略元組 人工填寫缺失值 使用乙個全域性常量 使用屬性的中心度量 使用與給定元組屬同一類的所有樣本的屬性均值或中位數 使用最可能的值 最流行 ...