在工程實踐中,我們得到的資料會存在有缺失值、重複值等,在使用之前需要進行資料預處理。資料預處理沒有標準的流程,通常針對不同的任務和資料集屬性的不同而不同。資料預處理的常用流程為:去除唯一屬性、處理缺失值、屬性編碼、資料標準化正則化、特徵選擇、主成分分析。
唯一屬性通常是一些id屬性,這些屬性並不能刻畫樣本自身的分布規律,所以簡單地刪除這些屬性即可。
缺失值處理的三種方法:直接使用含有缺失值的特徵;刪除含有缺失值的特徵(該方法在包含缺失值的屬性含有大量缺失值而僅僅包含極少量有效值時是有效的);缺失值補全。
常見的缺失值補全方法:均值插補、同類均值插補、建模**、高維對映、多重插補、極大似然估計、壓縮感知和矩陣補全。
(1)均值插補
如果樣本屬性的距離是可度量的,則使用該屬性有效值的平均值來插補缺失的值;
如果的距離是不可度量的,則使用該屬性有效值的眾數來插補缺失的值。如果使用眾數插補,出現資料傾斜會造成什麼影響?
(2)同類均值插補
首先將樣本進行分類,然後以該類中樣本的均值來插補缺失值。
(3)建模**
將缺失的屬性作為**目標來**,將資料集按照是否含有特定屬性的缺失值分為兩類,利用現有的機器學習演算法對待**資料集的缺失值進行**。
該方法的根本的缺陷是如果其他屬性和缺失屬性無關,則**的結果毫無意義;但是若**結果相當準確,則說明這個缺失屬性是沒必要納入資料集中的;一般的情況是介於兩者之間。
(4)高維對映
將屬性對映到高維空間,採用獨熱碼編碼(one-hot)技術。將包含k個離散取值範圍的屬性值擴充套件為k+1個屬性值,若該屬性值缺失,則擴充套件後的第k+1個屬性值置為1。
這種做法是最精確的做法,保留了所有的資訊,也未新增任何額外資訊,若預處理時把所有的變數都這樣處理,會大大增加資料的維度。這樣做的好處是完整保留了原始資料的全部資訊、不用考慮缺失值;缺點是計算量大大提公升,且只有在樣本量非常大的時候效果才好。
暫時未理解?
(5)多重插補(multipleimputation,mi)
多重插補認為待插補的值是隨機的,實踐上通常是估計出待插補的值,再加上不同的雜訊,形成多組可選插補值,根據某種選擇依據,選取最合適的插補值。
(6)壓縮感知和矩陣補全
(7)手動插補
插補處理只是將未知值補以我們的主觀估計值,不一定完全符合客觀事實。在許多情況下,根據對所在領域的理解,手動對缺失值進行插補的效果會更好。
(1)特徵二元化
特徵二元化的過程是將數值型的屬性轉換為布林值的屬性,設定乙個閾值作為劃分屬性值為0和1的分隔點。
(2)獨熱編碼(one-hotencoding)
獨熱編碼採用n位狀態暫存器來對n個可能的取值進行編碼,每個狀態都由獨立的暫存器來表示,並且在任意時刻只有其中一位有效。
獨熱編碼的優點:能夠處理非數值屬性;在一定程度上擴充了特徵;編碼後的屬性是稀疏的,存在大量的零元分量。
資料標準化
資料標準化是將樣本的屬性縮放到某個指定的範圍。
資料標準化的原因:
某些演算法要求樣本具有零均值和單位方差;
需要消除樣本不同屬性具有不同量級時的影響:①數量級的差異將導致量級較大的屬性佔據主導地位;②數量級的差異將導致迭代收斂速度減慢;③依賴於樣本距離的演算法對於資料的數量級非常敏感。
min-max標準化(歸一化):對於每個屬性,設mina和maxa分別為屬性a的最小值和最大值,將a的乙個原始值x通過min-max標準化對映成在區間[0,1]中的值x',其公式為:新資料=(原資料 - 最小值)/(最大值 - 最小值)
z-score標準化(規範化):基於原始資料的均值(mean)和標準差(standarddeviation)進行資料的標準化。將a的原始值x使用z-score標準化到x'。z-score標準化方法適用於屬性a的最大值和最小值未知的情況,或有超出取值範圍的離群資料的情況。新資料=(原資料- 均值)/ 標準差
均值和標準差都是在樣本集上定義的,而不是在單個樣本上定義的。標準化是針對某個屬性的,需要用到所有樣本在該屬性上的值。
正則化
資料正則化是將樣本的某個範數(如l1範數)縮放到到位1,正則化的過程是針對單個樣本的,對於每個樣本將樣本縮放到單位範數。
設資料集
。對樣本首先計算lp範數:
正則化後的結果為:每個屬性值除以其lp範數:
參考從給定的特徵集合中選出相關特徵子集的過程稱為特徵選擇。
進行特徵選擇的兩個主要原因是:
減輕維數災難問題;
降低學習任務的難度。
進行特徵選擇必須確保不丟失重要特徵。
過濾式選擇:該方法先對資料集進行特徵選擇,然後再訓練學習器。特徵選擇過程與後續學習器無關。relief是一種著名的過濾式特徵選擇方法。
包裹式選擇:該方法直接把最終將要使用的學習器的效能作為特徵子集的評價原則。其優點是直接針對特定學習器進行優化,因此通常包裹式特徵選擇比過濾式特徵選擇更好,缺點是由於特徵選擇過程需要多次訓練學習器,故計算開銷要比過濾式特徵選擇要大得多。
嵌入式選擇
常見的降維方法:svd、pca、lda
svd參考ttp:
pca參考
lad參考
字典學習:學習乙個字典,通過該字典將樣本轉化為合適的稀疏表示形式。
稀疏編碼:獲取樣本的稀疏表達。
**有修改
資料預處理方法總結
資料是什麼?資料就是一組物件及其屬性的集合,其中屬性定義為物件的特徵或性質。真實資料在應用前基本都有經過預處理,以便在機器學習演算法中使用。本次資料預處理方法的總結是基於推薦系統設計進行展開的,其中包括相似度的度量方法 抽樣以及降維技術這三個尤為重要的問題。d x y k 1 n xk yk 2 x...
資料預處理方法總結
資料是機器學習的原料,機器學習是通過對資料的訓練才得到某種特性的。因此正確的預處理資料對模型結果的輸出尤為重要。一 資料可能存在的問題 資料一開始可能有資料重複,資料缺失,資料存在異常值等情況。二 資料預處理的步驟 資料處理主要包括資料的清洗,資料的轉化.資料描述,特徵選擇和特徵抽取這幾個步驟。1 ...
資料預處理方法
一.資料清理 1.填出缺失值 無記錄值資料 1 忽略元祖 缺少類標號時使用,適用於多個屬性值缺失 2 人工填寫缺失值 3 用屬性的均值填充缺失值 4 用全域性常量填充 unknow 5 用同樣本的屬性均值填充缺失值 6 使用最可能的值填充缺失值 可由回歸 貝葉斯形式化的基於推理的工具或決策樹歸納確定...