自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

整理一份詳細(xì)的數(shù)據(jù)預(yù)處理方法

大數(shù)據(jù)
數(shù)據(jù)預(yù)處理的主要步驟分為:數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)規(guī)約和數(shù)據(jù)變換。本文將從這四個(gè)方面詳細(xì)的介紹具體的方法。如果在一個(gè)項(xiàng)目中,你在這幾個(gè)方面的數(shù)據(jù)處理做的都很不錯(cuò),對(duì)于之后的建模具有極大的幫助,并且能快速達(dá)到一個(gè)還不錯(cuò)的結(jié)果。

為什么數(shù)據(jù)處理很重要?

熟悉數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)的小伙伴們都知道,數(shù)據(jù)處理相關(guān)的工作時(shí)間占據(jù)了整個(gè)項(xiàng)目的70%以上。數(shù)據(jù)的質(zhì)量,直接決定了模型的預(yù)測(cè)和泛化能力的好壞。它涉及很多因素,包括:準(zhǔn)確性、完整性、一致性、時(shí)效性、可信性和解釋性。

[[282381]]

而在真實(shí)數(shù)據(jù)中,我們拿到的數(shù)據(jù)可能包含了大量的缺失值,可能包含大量的噪音,也可能因?yàn)槿斯や浫脲e(cuò)誤導(dǎo)致有異常點(diǎn)存在,非常不利于算法模型的訓(xùn)練。數(shù)據(jù)清洗的結(jié)果是對(duì)各種臟數(shù)據(jù)進(jìn)行對(duì)應(yīng)方式的處理,得到標(biāo)準(zhǔn)的、干凈的、連續(xù)的數(shù)據(jù),提供給數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)挖掘等使用。

有哪些數(shù)據(jù)預(yù)處理的方法?

數(shù)據(jù)預(yù)處理的主要步驟分為:數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)規(guī)約和數(shù)據(jù)變換。本文將從這四個(gè)方面詳細(xì)的介紹具體的方法。如果在一個(gè)項(xiàng)目中,你在這幾個(gè)方面的數(shù)據(jù)處理做的都很不錯(cuò),對(duì)于之后的建模具有極大的幫助,并且能快速達(dá)到一個(gè)還不錯(cuò)的結(jié)果。

數(shù)據(jù)清理

數(shù)據(jù)清理(data cleaning) 的主要思想是通過(guò)填補(bǔ)缺失值、光滑噪聲數(shù)據(jù),平滑或刪除離群點(diǎn),并解決數(shù)據(jù)的不一致性來(lái)“清理“數(shù)據(jù)。如果用戶(hù)認(rèn)為數(shù)據(jù)時(shí)臟亂的,他們不太會(huì)相信基于這些數(shù)據(jù)的挖掘結(jié)果,即輸出的結(jié)果是不可靠的。

1、缺失值的處理

由于現(xiàn)實(shí)世界中,獲取信息和數(shù)據(jù)的過(guò)程中,會(huì)存在各類(lèi)的原因?qū)е聰?shù)據(jù)丟失和空缺。針對(duì)這些缺失值的處理方法,主要是基于變量的分布特性和變量的重要性(信息量和預(yù)測(cè)能力)采用不同的方法。主要分為以下幾種:

  • 刪除變量:若變量的缺失率較高(大于80%),覆蓋率較低,且重要性較低,可以直接將變量刪除。
  • 定值填充:工程中常見(jiàn)用-9999進(jìn)行替代
  • 統(tǒng)計(jì)量填充:若缺失率較低(小于95%)且重要性較低,則根據(jù)數(shù)據(jù)分布的情況進(jìn)行填充。對(duì)于數(shù)據(jù)符合均勻分布,用該變量的均值填補(bǔ)缺失,對(duì)于數(shù)據(jù)存在傾斜分布的情況,采用中位數(shù)進(jìn)行填補(bǔ)。
  • 插值法填充:包括隨機(jī)插值,多重差補(bǔ)法,熱平臺(tái)插補(bǔ),拉格朗日插值,牛頓插值等
  • 模型填充:使用回歸、貝葉斯、隨機(jī)森林、決策樹(shù)等模型對(duì)缺失數(shù)據(jù)進(jìn)行預(yù)測(cè)。

啞變量填充:若變量是離散型,且不同值較少,可轉(zhuǎn)換成啞變量,例如性別SEX變量,存在male,fameal,NA三個(gè)不同的值,可將該列轉(zhuǎn)換成:IS_SEX_MALE, IS_SEX_FEMALE, IS_SEX_NA。若某個(gè)變量存在十幾個(gè)不同的值,可根據(jù)每個(gè)值的頻數(shù),將頻數(shù)較小的值歸為一類(lèi)'other',降低維度。此做法可最大化保留變量的信息。

總結(jié)來(lái)看,樓主常用的做法是:先用pandas.isnull.sum()檢測(cè)出變量的缺失比例,考慮刪除或者填充,若需要填充的變量是連續(xù)型,一般采用均值法和隨機(jī)差值進(jìn)行填充,若變量是離散型,通常采用中位數(shù)或啞變量進(jìn)行填充。

注意:若對(duì)變量進(jìn)行分箱離散化,一般會(huì)將缺失值單獨(dú)作為一個(gè)箱子(離散變量的一個(gè)值)

2、離群點(diǎn)處理

異常值是數(shù)據(jù)分布的常態(tài),處于特定分布區(qū)域或范圍之外的數(shù)據(jù)通常被定義為異常或噪聲。異常分為兩種:“偽異常”,由于特定的業(yè)務(wù)運(yùn)營(yíng)動(dòng)作產(chǎn)生,是正常反應(yīng)業(yè)務(wù)的狀態(tài),而不是數(shù)據(jù)本身的異常;“真異常”,不是由于特定的業(yè)務(wù)運(yùn)營(yíng)動(dòng)作產(chǎn)生,而是數(shù)據(jù)本身分布異常,即離群點(diǎn)。主要有以下檢測(cè)離群點(diǎn)的方法:

簡(jiǎn)單統(tǒng)計(jì)分析:根據(jù)箱線(xiàn)圖、各分位點(diǎn)判斷是否存在異常,例如pandas的describe函數(shù)可以快速發(fā)現(xiàn)異常值。

3原則:若數(shù)據(jù)存在正態(tài)分布,偏離均值的3之外。通常定義: 范圍內(nèi)的點(diǎn)為離群點(diǎn)。

  • 基于絕對(duì)離差中位數(shù)(MAD):這是一種穩(wěn)健對(duì)抗離群數(shù)據(jù)的距離值方法,采用計(jì)算各觀測(cè)值與平均值的距離總和的方法。放大了離群值的影響。
  • 基于距離:通過(guò)定義對(duì)象之間的臨近性度量,根據(jù)距離判斷異常對(duì)象是否遠(yuǎn)離其他對(duì)象,缺點(diǎn)是計(jì)算復(fù)雜度較高,不適用于大數(shù)據(jù)集和存在不同密度區(qū)域的數(shù)據(jù)集
  • 基于密度:離群點(diǎn)的局部密度顯著低于大部分近鄰點(diǎn),適用于非均勻的數(shù)據(jù)集
  • 基于聚類(lèi):利用聚類(lèi)算法,丟棄遠(yuǎn)離其他簇的小簇。

總結(jié)來(lái)看,在數(shù)據(jù)處理階段將離群點(diǎn)作為影響數(shù)據(jù)質(zhì)量的異常點(diǎn)考慮,而不是作為通常所說(shuō)的異常檢測(cè)目標(biāo)點(diǎn),因而樓主一般采用較為簡(jiǎn)單直觀的方法,結(jié)合箱線(xiàn)圖和MAD的統(tǒng)計(jì)方法判斷變量的離群點(diǎn)。

具體的處理手段:

  • 根據(jù)異常點(diǎn)的數(shù)量和影響,考慮是否將該條記錄刪除,信息損失多
  • 若對(duì)數(shù)據(jù)做了log-scale 對(duì)數(shù)變換后消除了異常值,則此方法生效,且不損失信息
  • 平均值或中位數(shù)替代異常點(diǎn),簡(jiǎn)單高效,信息的損失較少
  • 在訓(xùn)練樹(shù)模型時(shí),樹(shù)模型對(duì)離群點(diǎn)的魯棒性較高,無(wú)信息損失,不影響模型訓(xùn)練效果

3、噪聲處理

噪聲是變量的隨機(jī)誤差和方差,是觀測(cè)點(diǎn)和真實(shí)點(diǎn)之間的誤差,即 : 

整理一份詳細(xì)的數(shù)據(jù)預(yù)處理方法

通常的處理辦法:對(duì)數(shù)據(jù)進(jìn)行分箱操作,等頻或等寬分箱,然后用每個(gè)箱的平均數(shù),中位數(shù)或者邊界值(不同數(shù)據(jù)分布,處理方法不同)代替箱中所有的數(shù),起到平滑數(shù)據(jù)的作用。另外一種做法是,建立該變量和預(yù)測(cè)變量的回歸模型,根據(jù)回歸系數(shù)和預(yù)測(cè)變量,反解出自變量的近似值。

數(shù)據(jù)集成

數(shù)據(jù)分析任務(wù)多半涉及數(shù)據(jù)集成。數(shù)據(jù)集成將多個(gè)數(shù)據(jù)源中的數(shù)據(jù)結(jié)合成、存放在一個(gè)一致的數(shù)據(jù)存儲(chǔ),如數(shù)據(jù)倉(cāng)庫(kù)中。這些源可能包括多個(gè)數(shù)據(jù)庫(kù)、數(shù)據(jù)方或一般文件。

  1. 實(shí)體識(shí)別問(wèn)題:例如,數(shù)據(jù)分析者或計(jì)算機(jī)如何才能確信一個(gè)數(shù) 據(jù)庫(kù)中的 customer_id 和另一個(gè)數(shù)據(jù)庫(kù)中的 cust_number 指的是同一實(shí)體?通常,數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù) 有元數(shù)據(jù)——關(guān)于數(shù)據(jù)的數(shù)據(jù)。這種元數(shù)據(jù)可以幫助避免模式集成中的錯(cuò)誤。
  2. 冗余問(wèn)題。一個(gè)屬性是冗余的,如果它能由另一個(gè)表“導(dǎo)出”;如年薪。屬性或 維命名的不一致也可能導(dǎo)致數(shù)據(jù)集中的冗余。用相關(guān)性檢測(cè)冗余:數(shù)值型變量可計(jì)算相關(guān)系數(shù)矩陣,標(biāo)稱(chēng)型變量可計(jì)算卡方檢驗(yàn)。
  3. 數(shù)據(jù)值的沖突和處理:不同數(shù)據(jù)源,在統(tǒng)一合并時(shí),保持規(guī)范化,去重。

數(shù)據(jù)規(guī)約

數(shù)據(jù)歸約技術(shù)可以用來(lái)得到數(shù)據(jù)集的歸約表示,它小得多,但仍接近地保持原數(shù)據(jù)的完整性。這樣,在歸約后的數(shù)據(jù)集上挖掘?qū)⒏行Вa(chǎn)生相同(或幾乎相同)的分析結(jié)果。一般有如下策略:

1、維度規(guī)約

用于數(shù)據(jù)分析的數(shù)據(jù)可能包含數(shù)以百計(jì)的屬性,其中大部分屬性與挖掘任務(wù)不相關(guān),是冗余的。維度歸約通過(guò)刪除不相關(guān)的屬性,來(lái)減少數(shù)據(jù)量,并保證信息的損失最小。

  • 屬性子集選擇:目標(biāo)是找出最小屬性集,使得數(shù)據(jù)類(lèi)的概率分布盡可能地接近使用所有屬性的原分布。在壓縮 的屬性集上挖掘還有其它的優(yōu)點(diǎn)。它減少了出現(xiàn)在發(fā)現(xiàn)模式上的屬性的數(shù)目,使得模式更易于理解。

逐步向前選擇:該過(guò)程由空屬性集開(kāi)始,選擇原屬性集中最好的屬性,并將它添加到該集合中。在其后的每一次迭代,將原屬性集剩下的屬性中的最好的屬性添加到該集合中。

逐步向后刪除:該過(guò)程由整個(gè)屬性集開(kāi)始。在每一步,刪除掉尚在屬性集中的最壞屬性。

向前選擇和向后刪除的結(jié)合:向前選擇和向后刪除方法可以結(jié)合在一起,每一步選擇一個(gè)最 好的屬性,并在剩余屬性中刪除一個(gè)最壞的屬性。

python scikit-learn 中的遞歸特征消除算法Recursive feature elimination (RFE),就是利用這樣的思想進(jìn)行特征子集篩選的,一般考慮建立SVM或回歸模型。

單變量重要性:分析單變量和目標(biāo)變量的相關(guān)性,刪除預(yù)測(cè)能力較低的變量。這種方法不同于屬性子集選擇,通常從統(tǒng)計(jì)學(xué)和信息的角度去分析。

pearson相關(guān)系數(shù)和卡方檢驗(yàn),分析目標(biāo)變量和單變量的相關(guān)性。

  • 回歸系數(shù):訓(xùn)練線(xiàn)性回歸或邏輯回歸,提取每個(gè)變量的表決系數(shù),進(jìn)行重要性排序。
  • 樹(shù)模型的Gini指數(shù):訓(xùn)練決策樹(shù)模型,提取每個(gè)變量的重要度,即Gini指數(shù)進(jìn)行排序。
  • Lasso正則化:訓(xùn)練回歸模型時(shí),加入L1正則化參數(shù),將特征向量稀疏化。
  • IV指標(biāo):風(fēng)控模型中,通常求解每個(gè)變量的IV值,來(lái)定義變量的重要度,一般將閥值設(shè)定在0.02以上。

以上提到的方法,沒(méi)有講解具體的理論知識(shí)和實(shí)現(xiàn)方法,需要同學(xué)們自己去熟悉掌握。樓主通常的做法是根據(jù)業(yè)務(wù)需求來(lái)定,如果基于業(yè)務(wù)的用戶(hù)或商品特征,需要較多的解釋性,考慮采用統(tǒng)計(jì)上的一些方法,如變量的分布曲線(xiàn),直方圖等,再計(jì)算相關(guān)性指標(biāo),最后去考慮一些模型方法。

如果建模需要,則通常采用模型方法去篩選特征,如果用一些更為復(fù)雜的GBDT,DNN等模型,建議不做特征選擇,而做特征交叉。

2、維度變換:

維度變換是將現(xiàn)有數(shù)據(jù)降低到更小的維度,盡量保證數(shù)據(jù)信息的完整性。樓主將介紹常用的幾種有損失的維度變換方法,將大大地提高實(shí)踐中建模的效率

主成分分析(PCA)和因子分析(FA):PCA通過(guò)空間映射的方式,將當(dāng)前維度映射到更低的維度,使得每個(gè)變量在新空間的方差最大。FA則是找到當(dāng)前特征向量的公因子(維度更小),用公因子的線(xiàn)性組合來(lái)描述當(dāng)前的特征向量。

奇異值分解(SVD):SVD的降維可解釋性較低,且計(jì)算量比PCA大,一般用在稀疏矩陣上降維,例如圖片壓縮,推薦系統(tǒng)。

  • 聚類(lèi):將某一類(lèi)具有相似性的特征聚到單個(gè)變量,從而大大降低維度。
  • 線(xiàn)性組合:將多個(gè)變量做線(xiàn)性回歸,根據(jù)每個(gè)變量的表決系數(shù),賦予變量權(quán)重,可將該類(lèi)變量根據(jù)權(quán)重組合成一個(gè)變量。
  • 流行學(xué)習(xí):流行學(xué)習(xí)中一些復(fù)雜的非線(xiàn)性方法,可參考skearn:LLE Example

數(shù)據(jù)變換

數(shù)據(jù)變換包括對(duì)數(shù)據(jù)進(jìn)行規(guī)范化,離散化,稀疏化處理,達(dá)到適用于挖掘的目的。

1、規(guī)范化處理:數(shù)據(jù)中不同特征的量綱可能不一致,數(shù)值間的差別可能很大,不進(jìn)行處理可能會(huì)影響到數(shù)據(jù)分析的結(jié)果,因此,需要對(duì)數(shù)據(jù)按照一定比例進(jìn)行縮放,使之落在一個(gè)特定的區(qū)域,便于進(jìn)行綜合分析。特別是基于距離的挖掘方法,聚類(lèi),KNN,SVM一定要做規(guī)范化處理。 

整理一份詳細(xì)的數(shù)據(jù)預(yù)處理方法

2、離散化處理:數(shù)據(jù)離散化是指將連續(xù)的數(shù)據(jù)進(jìn)行分段,使其變?yōu)橐欢味坞x散化的區(qū)間。分段的原則有基于等距離、等頻率或優(yōu)化的方法。數(shù)據(jù)離散化的原因主要有以下幾點(diǎn):

模型需要:比如決策樹(shù)、樸素貝葉斯等算法,都是基于離散型的數(shù)據(jù)展開(kāi)的。如果要使用該類(lèi)算法,必須將離散型的數(shù)據(jù)進(jìn)行。有效的離散化能減小算法的時(shí)間和空間開(kāi)銷(xiāo),提高系統(tǒng)對(duì)樣本的分類(lèi)聚類(lèi)能力和抗噪聲能力。

離散化的特征相對(duì)于連續(xù)型特征更易理解。

可以有效的克服數(shù)據(jù)中隱藏的缺陷,使模型結(jié)果更加穩(wěn)定。

  • 等頻法:使得每個(gè)箱中的樣本數(shù)量相等,例如總樣本n=100,分成k=5個(gè)箱,則分箱原則是保證落入每個(gè)箱的樣本量=20。
  • 等寬法:使得屬性的箱寬度相等,例如年齡變量(0-100之間),可分成 [0,20],[20,40],[40,60],[60,80],[80,100]五個(gè)等寬的箱。
  • 聚類(lèi)法:根據(jù)聚類(lèi)出來(lái)的簇,每個(gè)簇中的數(shù)據(jù)為一個(gè)箱,簇的數(shù)量模型給定。

3、稀疏化處理:針對(duì)離散型且標(biāo)稱(chēng)變量,無(wú)法進(jìn)行有序的LabelEncoder時(shí),通??紤]將變量做0,1啞變量的稀疏化處理,例如動(dòng)物類(lèi)型變量中含有貓,狗,豬,羊四個(gè)不同值,將該變量轉(zhuǎn)換成is_豬,is_貓,is_狗,is_羊四個(gè)啞變量。若是變量的不同值較多,則根據(jù)頻數(shù),將出現(xiàn)次數(shù)較少的值統(tǒng)一歸為一類(lèi)'rare'。稀疏化處理既有利于模型快速收斂,又能提升模型的抗噪能力。

總結(jié)

以上介紹了數(shù)據(jù)預(yù)處理中會(huì)用到的大部分方法和技術(shù),完全適用于初學(xué)者學(xué)習(xí)掌握,并且對(duì)于實(shí)踐建模會(huì)有大幅度提升。以上方法的代碼實(shí)現(xiàn),均可在python的pandas和sklearn中完成。大家可根據(jù)需要去查閱學(xué)習(xí),網(wǎng)上資料也很多,樓主只提供方法和經(jīng)驗(yàn)上的借鑒,希望每個(gè)認(rèn)真學(xué)習(xí)鞏固的同學(xué)都能得到提升。

 

責(zé)任編輯:未麗燕 來(lái)源: 知乎專(zhuān)欄
相關(guān)推薦

2023-09-26 11:03:42

數(shù)據(jù)中心服務(wù)器

2018-10-10 09:30:29

Spring Boot知識(shí)框架

2019-01-15 09:34:30

MySQL高性能優(yōu)化

2020-06-08 09:15:14

前端 開(kāi)發(fā) Git

2023-09-03 23:04:36

網(wǎng)絡(luò)互聯(lián)網(wǎng)

2019-12-05 07:55:47

監(jiān)控指標(biāo)巡檢指標(biāo)數(shù)據(jù)庫(kù)

2018-01-29 16:29:35

數(shù)據(jù)開(kāi)發(fā)從業(yè)

2017-05-02 08:40:36

機(jī)器學(xué)習(xí)預(yù)處理整理

2017-04-29 10:16:14

機(jī)器學(xué)習(xí)數(shù)據(jù)清洗數(shù)據(jù)整理

2015-08-21 13:44:17

數(shù)據(jù)分析

2022-09-09 16:04:58

Linux設(shè)備樹(shù)

2020-07-15 15:38:15

人臉識(shí)別照片活化手機(jī)

2018-08-15 13:49:06

數(shù)據(jù)分析學(xué)習(xí)Python

2018-02-08 18:48:42

區(qū)塊鏈食品安全

2022-09-03 08:06:15

數(shù)據(jù)備份服務(wù)器系統(tǒng)

2019-03-24 14:14:40

代碼閱讀源代碼

2020-10-11 21:52:10

數(shù)據(jù)AI指南

2021-09-04 23:23:35

Protobuf存儲(chǔ)數(shù)據(jù)

2018-08-03 10:21:36

GitHub攻略Git

2023-09-29 22:41:26

Kubernetes云原生
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)