為什麼我們要關心數據預處理?

儘管對數據問題及其後果的認識,數據預處理在分析世界中得到的關注相對較少,而側重於建模和預測。但作為一名數據科學家,大部分時間都是在這裡度過的嗎?

《福布斯》雜誌稱,數據科學家大部分時間都在清理和整理數據。

為什麼我們要關心數據預處理?

如果你做了一些數據分析,你會同意以上的調查結果。我們都可以通過向機器學習模型發送原始數據和向機器學習模型發送乾淨數據來看到輸出的差異。

數據科學家關注管道中的所有階段。然而,在達到機器學習建模階段之前,許多數據錯誤可能會引起科學家需要注意的問題。數據錯誤和問題可能會影響分析的有效性、可重複性,從而影響分析的質量。

為什麼我們要關心數據預處理?

為什麼我們更關心數據預處理?

真實世界的數據一般是:

  • 噪聲:包含錯誤和異常值。
  • 不一致:包含不一致的值。
  • 不完整:缺少的值、字段是過時的或冗餘的,或者不適合模型處理的數據。

例如:

在數據採集和預處理的任何階段都可能出現數據錯誤,這可能會影響結果,導致統計解釋和結論的錯誤。

最重要的目標是最小化垃圾輸入、垃圾輸出(GIGO),最小化進入模型的垃圾,從而最小化模型輸出的垃圾數量。

因此,數據預處理在數據採集到數據分析之間架起了橋樑。為業務目標和數據預處理的可能步驟提供關鍵的重要性可以減輕我們的大多數問題。

為什麼我們要關心數據預處理?

數據預處理思維導圖

數據預處理步驟

1、數據清理:

  • 處理缺失值
  • 識別錯誤分類
  • 識別異常值
  • 標誌變量
  • 將分類變量轉換為數值變量
  • Binning數字變量
  • 添加索引字段
  • 刪除無用的變量
  • 不應刪除的變量
  • 過濾ID字段

2. 數據集成:

  • 組合來自多個資源的數據
  • 刪除重複的記錄

3. 數據轉換:

  • 達到正常

4. 數據縮減:

  • 用於數據削減的方法

在我們開始分析之前選擇的工具:

中心測度:均值,中位數和模式。

分佈測度:範圍、方差、標準差(SD)、四分位數範圍(IQR)、平均絕對偏差(包含極端值的情況,因為SD對離群值敏感)。

轉換工具:歸一化(最小-最大值歸一化)、Z-score標準化、十進制縮放、偏度和峰度。

分類變量與數值變量的差異:

為什麼我們要關心數據預處理?

分類與數值

數據清洗:

1.1處理缺失值:我們繼續在具有大量字段的數據庫中遇到缺失值問題。

處理缺失數據的一般策略如下:

  • 在分析的基礎上用某個常數替換缺失值。
  • 用平均值(數值變量)或模式(類別變量)替換缺失值。
  • 用觀察到的隨機值替換缺失值。
  • 根據記錄的特徵,用估算值替換缺失值。

1.2識別錯誤分類:注意以下頻率分佈有什麼奇怪的地方嗎?

為什麼我們要關心數據預處理?

其中兩項記錄與該品牌的分類不一致。為了與數據集的其餘部分保持一致,與起源美國的記錄應該標記為US,與起源法國的記錄應該標記為歐洲。

1.3:識別異常值:異常值是與剩餘數據趨勢相反的極端值。離群值構成——數據輸入中的錯誤,有時模型對離群值的存在很敏感,可能產生不可靠的結果。

為什麼我們要關心數據預處理?

1.4標記變量:一些模型(如迴歸)需要數值輸入。在這種情況下,分類值被轉換為帶有0或1的標誌變量。

例如:If sex = female sex_flag = 0;如果性別=男性,則sex_flag = 1。

1.5將分類變量轉換為數值變量並對其進行重新分類:有時我們可能需要使用多個數值變量將分類變量轉換為數值變量。

例如:如果您擁有一個擁有50個狀態的“State”字段,那麼在這種情況下,我們可以創建一個具有相應區域編號的新變量“Region”。

為什麼我們要關心數據預處理?

1.6綁定數值變量:有時候模型更喜歡分類輸入而不是連續的數值輸入。在這種情況下,我們將數字輸入分為多個分區。

為什麼我們要關心數據預處理?

1.7添加一個索引字段:在執行數據分析時,數據會被分割幾次。使用索引字段有助於跟蹤可重新創建的原始排序順序。

1.8刪除無用的變量:數據科學家可能希望刪除對分析沒有幫助的一元變量。一元變量是指所有數據都只有一個值的變量。

例如,一個列變量' Utilities ',包含整個數據集的值' AllPub '(所有公共實用程序)。

為什麼我們要關心數據預處理?

1.9不應該被刪除的變量:不幸的是,刪除強相關變量是一個常見的建議。一些數據分析師可能會決定刪除其中一個變量。但強烈建議我們應用PCA(主成分分析)。

1.10.Filtering ID字段: ID字段對我們的挖掘模型沒有什麼幫助。建議將它們過濾掉而不是刪除,因為它們可能有助於區分類似的記錄。

數據集成:

2.1結合多種資源的數據:數據集成結合了來自不同來源的數據,如數據庫或平面文件。

為什麼我們要關心數據預處理?

2.2刪除重複記錄:集成數據時發生的常見錯誤是重複記錄的副本。重複記錄會導致數據值過大,在這種情況下,只能保留一組數據。通過這樣做,我們避免了數據的虛假表示。

數據轉換:

3.1轉換以實現正態性:一些數據挖掘算法要求變量是正態分佈的。

普遍的誤解是,Z - score標準化的變量遵循標準Z分佈。不正確的!確實,z標準化數據的均值為0,標準差為1,但分佈仍可能存在偏度。

為了使我們的數據“更加正態分佈”,我們必須首先使它對稱,這意味著消除偏度。為了消除偏度,我們對數據進行轉換。

為什麼我們要關心數據預處理?

原始數據與自然對數轉換

雖然我們已經實現了對稱,但有時我們還沒有達到常態。為了檢驗正態性,我們構造了一個正態概率圖,它將一個特定分佈的分位數與標準正態分佈的分位數相對應。

為什麼我們要關心數據預處理?

數據縮減:

我們如何處理大量的數據集並希望找到變量之間的關係?是否有可能挖掘減少的數據集——這是否既有效又能產生相同的結果?當然,我們可以。

大量數據集的問題:

  • 對一個模型來說,太多的預測變量會不必要地使分析的解釋複雜化。
  • 保留過多的變量可能會導致過度擬合。

解決這些問題最常用的方法之一是“降維”。此方法的目標是實現以下目標。

  • -減少預測項目的數量。
  • -確保這些預測項是獨立的。
  • -為結果的解釋提供一個框架。

結論:

這說明數據預處理是數據分析的關鍵組成部分。數據科學管道過程中的每個組件都對改進總體數據分析有獨特的貢獻。


分享到:


相關文章: