一、大數據預處理的幾個步驟
1.數據預處理
2.數據清洗
3.數據集成
4.數據歸約
5.數據變換
6.數據離散化
7.大數據預處理
二、數據預處理
現實中的數據大多是“臟”數據:
①不完整 缺少屬性值或僅僅包含聚集數據
②含噪聲 包含錯誤或存在偏離期望的離群值 比如:salary=“-10”,明顯是錯誤數據
③不一致 用於商品分類的部門編碼存在差異 比如age=“42”Birthday=“03/07/1997”
而我們在使用數據過程中對數據有如下要求:
一致性、准確性、完整性、時效性、可信性、可解釋性
由於獲得的數據規模太過龐大,數據不完整、重復、雜亂,在一個完整的數據挖掘過程中,數據預處理要花費60%左右的時間。
三、數據清洗
1.缺失值的處理:
①忽略元組:若有多個屬性值缺失或者該元祖剩余屬性值使用價值較小時,應選擇放棄
②人工填寫:該方法費時,數據龐大時行不通
③全局常量填充:方法簡單,但有可能會被挖掘程序愚以為形成了又去的概念
④屬性中心度量填充:對於正常的數據分布而言可以使用均值,而傾斜數據分布應使用中位數
⑤最可能的值填充:使用回歸、基於推理的工具或者決策樹歸納確定。
2.噪聲數據與離群點:
噪聲:被測量的變量的隨機誤差或者方差(一般指錯誤的數據)
離群點:數據集中包含一些數據對象,他們與數據的一般行為或模型不一致。(正常值,但偏離大多數數據)
分箱(binning):通過考察數據周圍的值來光滑有序數據值,這些有序的值被分布到一些“桶”或箱中,由於分箱方法只是考慮近鄰的值,因此是局部光滑。
分箱的方法:
等寬分箱:每個“桶”的區間寬度相同
等深分箱:每個“桶”的樣本個數相同
回歸(regression):用一個函數擬合數據來光滑數據。
線性回歸找出擬合兩個屬性(變量)的最佳直線;多元線性回歸涉及多個屬性,將數據擬合到多維曲面
下圖即對數據進行線性回歸擬合:
離群點:
2.1 離群點的分類
①全局離群點:個別數據離整體數據較遠
②集體離群點:一組數據與其他數據分布方式不同
③情景離群點
2.2 離群點檢測的方法
①基於統計的離群點檢測:假設給定的數據集服從某一隨機分布(如正態分布等),用不一致性測試識別異常。
如果某個樣本點不符合工作假設,那么認為它是離群點;如果它符合備選假設,則認為它是符合某一備選假設分布的離群點。
②基於密度的局部離群點檢測:通過基於局部離群點檢測就能在樣本空間數據分布不均勻的情況下也可以准確發現。
③基於距離的離群點檢測:如果樣本空間D至少有N個樣本點與對象O的距離大於d,那么對象O是以至少N個樣本點和距離d為參數的基於距離的離群點。
④基於偏差的離群點檢測:通過檢查一組對象的主要特征來識別離群點,那些些不符合這種特征的數據對象被判定為離群點。
2.3 傳統離群點檢測的缺點:
①基於統計的算法:不適合多維空間,預先要知道樣本空間中數據集的分布特征
②基於距離的算法:參數的選取非常敏感,受時間復雜度限制,不適用於高維稀疏數據集。
③基於偏差的算法:實際應用少,在高維數據集中,很難獲得該數據集的主要特征。
四、數據集成
1.數據屬性
①標稱屬性:屬性值是一些符號或事物的名稱,經常看做分類屬性,如頭發顏色:黃色、黑色、棕色
②二元屬性:是一種標稱屬性,只有兩個類別 0或1 true or false
③序數屬性:其可能的值時間具有有意義的序或秩評定,如客戶滿意度:0-很滿意 1-不能太滿意...
④數值屬性:定量的,可度量的量,用整數換實數值表示。
2.離散屬性與連續屬性
1.離散屬性:具有有限或無限可數個值,可以是數值屬性,如性別、員工號
2.連續屬性:非離散的,一般用浮點變量表示。
3.數據集成
數據集成是把不同來源、格式、特點性質的數據在邏輯上或物理上有機的集中,從而為企業提供全面的數據共享。數據集成時,模式集成和對象匹配非常重要,如何將來自於多個信息源的等價實體進行匹配即實體識別問題。
在進行數據集成時,同一數據在系統中多次重復出現,需要消除數據冗余,針對不同特征或數據間的關系進行相關性分析。
相關性分析時用皮爾遜相關系數度量, 用於度量兩個變量X和Y之間得相關(線性相關),其值介於1和-1之間。
五、數據規約
1.數據規約策略
①維規約:減少考慮的隨機變量或屬性的個數,或把原數據變換或投影到更小的空間,具體方法:小波變換、主成分分析等。
②數量規約:用替代的、較小的數據表示形式替換原數據 具體方法包括:抽樣和數據立方體聚集
③數據壓縮:無損壓縮:能從壓縮后的數據重構恢復原來的數據,不損失信息。有損壓縮:只能近似重構原數據。
- 抽樣:
- 多階段抽樣:
- 基於Hash函數取樣技術SHF:
- 數據立方體聚集:
下鑽是將一個大范圍度量細化,如圖將季度分成月份表示,上卷與其相反,將城市上卷為國家。
2.機器學習中的降維方法:
3.主成分分析法---線性降維方法
在降維之后能最大程度的保持數據的內在信息,通過衡量在投影方向上的數據方差大小來衡量該方向的重要程度。
4.線性判別分析----有監督的線性降維方法
數據在降維后能很容易得被區分開,將高維的模式樣本投影到最佳鑒別矢量空間,保證模式樣本在新子空間內有最大類間距離和最小的類內距離,即模式在該空間中有最佳的可分離性。
5.局部線性嵌入LLE----非線性降維方法
能使降維后的數據保持原有的流形結構。如果數據分布在整個封閉的球面上,LLE則不能將其映射到二維空間,且不能保持原有的數據流形,於是在處理數據時首先要保證數據不在封閉的球面或者橢圓內。
圖示將三維曲面數據映射到二維坐標軸內,還能保證其大致的流線型。
六、數據變換
1.數據變換策略
①光滑:去掉噪聲,包括分箱、回歸、聚類。
②屬性構造:由改定的屬性構造新的屬性,並添加到屬性集中
③聚集:對數據進行匯總或聚集,通常為多個抽象層的數據分析構造數據立方體。
④規范化:按比例縮放,使之落入特定的小區間內。
⑤離散化:屬性的原始值用區間標簽或概念標簽替換。
⑥由標稱數據產生概念分層:將標稱屬性泛化到較高的概念層。
2.規范化方法
七、數據離散化
1.非監督離散化:在離散過程中不考慮類別屬性,其輸入數據集僅含有待離散化屬性的值。
假設屬性的取值空間為X={X1,X2,⋯,Xn},離散化之后的類標號是Y={Y1,Y2,⋯,Ym},則無監督離散化的情況就是X已知而Y未知。以下介紹幾種常用的無監督離散化方法:
(1) 等寬算法
根據用戶指定的區間數目K,將屬性的值域[Xmin−Xmax]划分成K個區間,並使每個區間的寬度相等,即都等於Xmax−XminK。缺點是容易受離群點的影響而使性能不佳。
(2) 等頻算法
等頻算法也是根據用戶自定義的區間數目,將屬性的值域划分成K個小區間。他要求落在每個區間的對象數目相等。譬如,屬性的取值區間內共有M個點,則等頻區間所划分的K個小區域內,每個區域含有MK個點。
(3) K-means聚類算法
首先由用戶指定離散化產生的區間數目K,K-均值算法首先從數據集中隨機找出K個數據作為K個初始區間的重心;然后,根據這些重心的歐式距離,對所有的對象聚類:如果數據x距重心Gi最近,則將x划歸Gi所代表的那個區間;然后重新計算各區間的重心,並利用新的重心重新聚類所有樣本。逐步循環,直到所有區間的重心不再隨算法循環而改變為止。
2.監督離散化:輸入數據包括類別信息(類標號),效果比無監督好,主要有以下幾種方法。
(1) 齊次性的卡方檢驗
(2)自上而下的卡方分裂算法
(3)ChiMerge算法
(4)基於熵的離散化方法
八、大數據預處理
1 Hadoop-集群
2 Spark
3 HBase
4 雲計算處理大數據
版權聲明:本文為CSDN博主「bxg1065283526」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/bxg1065283526/java/article/details/79618943