筆記: 常用數據預處理總結

數據清理

  • 主要使將數據中缺失的值補充完整、消除噪聲數據、識別和刪除離羣點並解決不一致性。
  • 主要達到目標是:將數據格式標準化、異常數據清楚、錯誤糾正、重複數據的清楚

1.異常數據處理

尋找異常數據:
  • 使用統計量進行判斷:設有一個合理的範圍,如果某個數據遠遠的超出其它數據,那麼這個數據或者這些個數據就有可能是異常值。
  • 使用3&原則,根據正態分佈的定義,距離平均值3&以外的數值出現屬於小概率事件,因此異常值可以看成那些數據和平均值的偏差超過3倍標準差的值。
  • 使用箱型圖判斷,超過箱型圖的上界或者下界就認爲是異常數據。
異常數據的處理方法:
  • 刪除異常數據的紀錄
  • 視爲缺失值,按照處理缺失值的方法進行處理。
  • 平均值糾正,使用前後兩個觀測值的平均值進行糾正 或者使用整個數據集的平均值進行糾正。

2.缺失值處理

處理缺失值的方法思想一般有:忽略存在缺失值數據的記錄、去掉包含缺失數據的屬性、手工填寫缺失值、使用默認值代替、使用屬性值代替、
使用屬性平均值(中位數或衆數)代替、使用同類樣本平均值代替、預測最可能的值代替。一般使用數據補插方法來代替缺失值,有以下幾種:

  • 最近鄰補插:使用含有缺失值的樣本附近的其它樣本數據代替;或者前後數據的平均值代替。
  • 迴歸方法:對含有缺失值的屬性,使用其它樣本該屬性的值建立擬合模型,然後使用該模型預測缺失值。
  • 插值法:和迴歸法類似,使用已知數據建立合適的插值函數,缺失值使用該函數計算出近似值代替。常見的插值函數有:拉格朗日插值法、牛頓插值法、分段插值法、Hermite插值法等。

3.噪聲數據的處理—【一般有分箱、聚類、迴歸、小波等】

分箱

分箱就是把數據(某列屬性值)按照一定的規則放進一些箱子(箱子指的是區間),採用某種方法分別對各個箱子中的數據進行處理。面臨的問題是如何分箱子以及如何對每個箱子的數據進行平滑處理?

如何分箱子:

  • 等深分箱法:也稱爲統一權重法,將數據集按記錄行數分箱,每箱子具有相同的記錄數,每箱記錄數成爲箱子的深度,即固定每次箱子的數據個數。
  • 等寬分箱法:也稱爲統一區間法,使數據集在整個區間上平均分佈,即每個箱子的區間範圍是一個常量,稱爲箱子寬度;【比如設置寬度爲1000,將1001000分爲一組,20003000分爲一組,3000~4000內的數據由又分爲一組。】
  • 自定義區間:根據需要自定義區間。

如何對箱子的數據進行平滑處理:

  • 按平均值進行平滑: 對同一個箱子中的數據求平均值,用平均值替代該箱子中的所有數據。
  • 按邊界值平滑: 用距離較小的邊界值替代箱中的每一個數據。
  • 按中值平滑: 取箱子的中值來替代箱子中的所有數據。
聚類

將數據的集合分組爲 由類似的對象 組成的多個類,然後找出並清除那些落在簇之外的值(孤立點),這些孤立點被視爲噪聲數據。其中可以用一些聚類算法來進行任務。

迴歸

試圖發現兩個相關的變量之間的變化模式,通過使數據適合一個函數來進行平滑數據,即通過建立數學模型來預測下一個數值,採用的方法一般包括線性迴歸和非線性迴歸。

數據集成

  • 主要是講多個數據源中的數據進行整合並統一存儲。

數據集成一般需要考慮以下幾個問題:

實體識別: 主要指數據來源不同,其中的概念不一樣,主要有以下幾種情況:
  • 同名異義:數據源A的某個數據特徵的名稱和數據源B的某個數據特徵的名稱一樣,但表示的內容不一樣。
  • 異名同義: 與以上相反。
  • 單位不統一:指不同的數據源記錄的單位不一樣。
冗餘屬性:指數據中存在冗餘,一般分爲以下幾種情況:
  • 同一屬性多次出現
  • 同一屬性命名不一致而引起的數據重複。
數據不一致:編碼使用的不一致 和 數據表示的不一致問題

數據變換

  • 主要是指通過平滑聚集、數據概化、規範化等方式將數據轉換成適用於數據挖掘的形式。
1.使用簡單的數學函數對數據進行變換
  • 對採集的原始數據進行各種簡單的數學函數進行轉換,常見的函數包括平方、開方、取對數、差分運算等
  • 具體使用哪一種函數取決於數據和應用的場景。例如:數據較大時可以取對數或開方將數據壓縮變小;如果數據較小時可以使用平方擴大數據;在時間序列分析中一般使用對數變換或差分運算將非平穩序列 轉換爲 平穩序列。
2.歸一化

數據歸一化(又稱數據規範化),主要用於消除數據之間的量綱影響。列舉幾種:

  • 最小-最大 歸一化法:也稱爲離差標準化,對原數據進行線性變化,將其值映射到[0,1]之間。X’ = (X-min(X)) / (max(X)-min(X)),X爲需要歸一化的數據,缺點是當有新數據加入時需要重新定義,可能導致和的變化。
  • Z-score標準化法: 稱零-均值規範化方法,該法使用原始數據的均值和標準差對數據實施標準化,經過處理的數據符合標準正態分佈,即均值爲0標準差爲1。轉換函數爲:新數據=(原數據-均值)/標準差,即 X’ = ( X-u )/ q ,其中u是全體樣本數據的均值,q爲標準差;該法要求原始數據的分佈近似爲高斯分佈,否則將很糟糕。
  • 小數定標規範化:其實就是把數據縮小或者放大,即移動數據的小數點位置來實現。
3.連續屬性離散化

數據離散化本質上是將連續的屬性空間劃分爲若干個區間,最後用不同的符號或整數值代替每個子區間的數據。有兩個事情需要做:確定分類及將連續屬性值映射到這些分類值。

  • 等寬法:把數據劃分爲具有相同寬度的區間,區間數據的範圍事先指定,然後將數據按照其值分配到不同區間中,每個區間用一個數據值或者符號表示,每個區間的數據個數不一定相等。
  • 等頻法: 把數據劃分爲若干個區間,將數據按照其值劃分到區間上,每個區間的數據個數是相等的。
  • 基於聚類的方法:使用經典的K-means方法或者其它方法劃分數據集;K-means首先從數據集中隨機找出K個數據作爲K個聚類的中心,其次根據其它數據相對於這些中心的距離,對所有的對象聚類:如果數據x距某個中心最近則將x劃歸爲該中心所代表的聚類,每分好一個數之後都要重新計算各區間的中心,並利用新的中心重新聚類所有樣本。逐步循環,直到所有區間的中心不再隨算法循環而改變。
4.基於熵的離散化方法
5.基於小波的特徵提取方法
6.自上而下的卡方分裂算法
後面這三種日後再學習一下,歡迎評論一起學習。

數據歸約

  • 主要是對數據集進行歸約或簡化,不僅保持原數據的完整性,並且數據歸約後的結果與歸約前的結果幾乎相同或者相同。
維歸約

維歸約(也稱特徵歸約),是指通過減少屬性特徵的方式壓縮數據量,通過移除不相關的屬性,可以提高模型效率。例如:

  • AIC準則可以通過選擇最優模型來選擇屬性;LASSO通過一定約束條件選擇變量;分類樹、隨機森林通過對分類效果的影響大小篩選屬性;小波變換、主成分分析通過把原數據轉換或投影到較小的空間來降低維度。
數值歸約

數值歸約(也稱樣本歸約):就是從數據集中選出一個有代表性的樣本的子集,子集大小的確定要考慮計算成本、存儲要求、估計量的精度以及其它一些與算法和數據特性有關的因素。例如:

  • 參數方法中使用模型估計數據,就可以只存放模型參數代替存放實際數據(如迴歸模型和對數線性模型都可以用來進行參數化數據歸約);對於非參數化方法,可以使用聚類、抽樣、直方圖、數據立方體等措施。

另外:

特徵編碼:

(1)特徵二元化
特徵二元化的過程是將數值型的屬性轉換爲布爾值的屬性,設定一個閾值作爲劃分屬性值爲0和1的分隔點,類似樹的分割。

(2)獨熱編碼(One-HotEncoding)
獨熱編碼採用N位狀態寄存器來對N個可能的取值進行編碼,每個狀態都由獨立的寄存器來表示,並且在任意時刻只有其中一位有效,其實就是將屬性映射到高維空間。舉個例子:
某個x屬性下有4個離散變量: A、B、C、D,x每次可能取其中一個,那麼獨熱編碼則的對應關係: A: 1000,B:0100,C:0010,D:0001。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章