機(jī)器學(xué)習(xí)第三課_關(guān)于數(shù)據(jù)預(yù)處理和特征工程

一、數(shù)據(jù)預(yù)處理:數(shù)值型特征無(wú)量綱化

1.數(shù)據(jù)標(biāo)準(zhǔn)化(Standardization)

標(biāo)準(zhǔn)化的前提是特征值服從正態(tài)分布,標(biāo)準(zhǔn)化后,其轉(zhuǎn)換成標(biāo)準(zhǔn)正態(tài)分布。


優(yōu)點(diǎn):

Z-Score最大的優(yōu)點(diǎn)就是簡(jiǎn)單,容易計(jì)算,Z-Score能夠應(yīng)用于數(shù)值型的數(shù)據(jù),并且不受數(shù)據(jù)量級(jí)的影響,因?yàn)樗旧淼淖饔镁褪窍考?jí)給分析帶來(lái)的不便。

缺點(diǎn):

估算Z-Score需要總體的平均值與方差,但是這一值在真實(shí)的分析與挖掘中很難得到,大多數(shù)情況下是用樣本的均值與標(biāo)準(zhǔn)差替代;

Z-Score對(duì)于數(shù)據(jù)的分布有一定的要求,正態(tài)分布是最有利于Z-Score計(jì)算的;

Z-Score消除了數(shù)據(jù)具有的實(shí)際意義,A的Z-Score與B的Z-Score與他們各自的分?jǐn)?shù)不再有關(guān)系,因此Z-Score的結(jié)果只能用于比較數(shù)據(jù)間的結(jié)果,數(shù)據(jù)的真實(shí)意義還需要還原原值;

在存在異常值時(shí)無(wú)法保證平衡的特征尺度。


2.歸一化

1)MinMax歸一化

區(qū)間縮放法利用了邊界值信息,將屬性縮放到[0,1]。

?

缺點(diǎn):這種方法有一個(gè)缺陷就是當(dāng)有新數(shù)據(jù)加入時(shí),可能導(dǎo)致max和min的變化,需要重新定義;MinMaxScaler對(duì)異常值的存在非常敏感。

(2)?MaxAbs歸一化


單獨(dú)地縮放和轉(zhuǎn)換每個(gè)特征,使得訓(xùn)練集中的每個(gè)特征的最大絕對(duì)值將為1.0,將屬性縮放到[-1,1]。它不會(huì)移動(dòng)/居中數(shù)據(jù),因此不會(huì)破壞任何稀疏性

?

缺點(diǎn):這種方法有一個(gè)缺陷就是當(dāng)有新數(shù)據(jù)加入時(shí),可能導(dǎo)致max和min的變化,需要重新定義;MaxAbsScaler與先前的縮放器不同,絕對(duì)值映射在[0,1]范圍內(nèi)。

在僅有正數(shù)據(jù)時(shí),該縮放器的行為MinMaxScaler與此類似,因此也存在大的異常值。

3.正態(tài)分布化(Normalization)

正則化的過(guò)程是將每個(gè)樣本縮放到單位范數(shù)(每個(gè)樣本的范數(shù)為1),如果要使用如二次型(點(diǎn)積)或者其它核方法計(jì)算兩個(gè)樣本之間的相似性這個(gè)方法會(huì)很有用。

該方法是文本分類和聚類分析中經(jīng)常使用的向量空間模型(Vector Space Model)的基礎(chǔ)。Normalization主要思想是對(duì)每個(gè)樣本計(jì)算其p-范數(shù),然后對(duì)該樣本中每個(gè)元素除以該范數(shù),這樣處理的結(jié)果是使得每個(gè)處理后樣本的p-范數(shù)(l1-norm,l2-norm)等于1。

4.標(biāo)準(zhǔn)化與歸一化對(duì)比

?

1)標(biāo)準(zhǔn)化與歸一化的異同


相同點(diǎn):

它們的相同點(diǎn)在于都能取消由于量綱不同引起的誤差;都是一種線性變換,都是對(duì)向量X按照比例壓縮再進(jìn)行平移。

不同點(diǎn):

目的不同,歸一化是為了消除綱量壓縮到[0,1]區(qū)間;

標(biāo)準(zhǔn)化只是調(diào)整特征整體的分布;

歸一化與最大,最小值有關(guān);

標(biāo)準(zhǔn)化與均值,標(biāo)準(zhǔn)差有關(guān);

歸一化輸出在[0,1]之間;

標(biāo)準(zhǔn)化無(wú)限制。


2)什么時(shí)候用歸一化?什么時(shí)候用標(biāo)準(zhǔn)化?


如果對(duì)輸出結(jié)果范圍有要求,用歸一化;

如果數(shù)據(jù)較為穩(wěn)定,不存在極端的最大最小值,用歸一化;

如果數(shù)據(jù)存在異常值和較多噪音,用標(biāo)準(zhǔn)化,可以間接通過(guò)中心化避免異常值和極端值的影響。

?

3)歸一化與標(biāo)準(zhǔn)化的應(yīng)用場(chǎng)景


在分類、聚類算法中,需要使用距離來(lái)度量相似性的時(shí)候(如SVM、KNN)、或者使用PCA技術(shù)進(jìn)行降維的時(shí)候,標(biāo)準(zhǔn)化(Z-score standardization)表現(xiàn)更好;

在不涉及距離度量、協(xié)方差計(jì)算、數(shù)據(jù)不符合正太分布的時(shí)候,可以使用第一種方法或其他歸一化方法。

比如圖像處理中,將RGB圖像轉(zhuǎn)換為灰度圖像后將其值限定在[0 255]的范圍;

基于樹的方法不需要進(jìn)行特征的歸一化。

例如隨機(jī)森林,bagging與boosting等方法。

如果是基于參數(shù)的模型或者基于距離的模型,因?yàn)樾枰獙?duì)參數(shù)或者距離進(jìn)行計(jì)算,都需要進(jìn)行歸一化。

二、數(shù)值型特征特征分箱(數(shù)據(jù)離散化)

離散化是數(shù)值型特征非常重要的一個(gè)處理,其實(shí)就是要將數(shù)值型數(shù)據(jù)轉(zhuǎn)化成類別型數(shù)據(jù)。連續(xù)值的取值空間可能是無(wú)窮的,為了便于表示和在模型中處理,需要對(duì)連續(xù)值特征進(jìn)行離散化處理。

分箱的重要性及其優(yōu)勢(shì):

離散特征的增加和減少都很容易,易于模型的快速迭代;

稀疏向量?jī)?nèi)積乘法運(yùn)算速度快,計(jì)算結(jié)果方便存儲(chǔ),容易擴(kuò)展;

離散化后的特征對(duì)異常數(shù)據(jù)有很強(qiáng)的魯棒性;

比如一個(gè)特征是年齡>30是1,否則0。

如果特征沒(méi)有離散化,一個(gè)異常數(shù)據(jù)“年齡300歲”會(huì)給模型造成很大的干擾;

對(duì)于線性模型,表達(dá)能力受限;

單變量離散化為N個(gè)后,每個(gè)變量有單獨(dú)的權(quán)重,相當(dāng)于模型引入了非線性,能夠提升模型表達(dá)能力,加大擬合;

離散化后可以進(jìn)行特征交叉,由M+N個(gè)變量變?yōu)镸*N個(gè)變量,進(jìn)一步引入非線性,提升表達(dá)能力;特征離散化后,模型會(huì)更穩(wěn)定;

比如如果對(duì)用戶年齡離散化,20-30作為一個(gè)區(qū)間,不會(huì)因?yàn)橐粋€(gè)用戶年齡長(zhǎng)了一歲就變成一個(gè)完全不同的人。

當(dāng)然處于區(qū)間相鄰處的樣本會(huì)剛好相反,所以怎么劃分區(qū)間是門學(xué)問(wèn);

特征離散化以后,起到了簡(jiǎn)化了邏輯回歸模型的作用,降低了模型過(guò)擬合的風(fēng)險(xiǎn);

可以將缺失作為獨(dú)立的一類帶入模型;將所有變量變換到相似的尺度上。


1.無(wú)監(jiān)督分箱法

1)自定義分箱

自定義分箱,是指根據(jù)業(yè)務(wù)經(jīng)驗(yàn)或者常識(shí)等自行設(shè)定劃分的區(qū)間,然后將原始數(shù)據(jù)歸類到各個(gè)區(qū)間中。

2)等距分箱

按照相同寬度將數(shù)據(jù)分成幾等份。

[if !supportLists]3)[endif]等頻分箱

將數(shù)據(jù)分成幾等份,每等份數(shù)據(jù)里面的個(gè)數(shù)是一樣的。區(qū)間的邊界值要經(jīng)過(guò)選擇,使得每個(gè)區(qū)間包含大致相等的實(shí)例數(shù)量。比如說(shuō) N=10 ,每個(gè)區(qū)間應(yīng)該包含大約10%的實(shí)例。

4)聚類分箱

5)二值化(Binarization)

?

?

2.有監(jiān)督分箱法(忽略)

?

三、總結(jié)

1)特征預(yù)處理是數(shù)據(jù)預(yù)處理過(guò)程的重要步驟,是對(duì)數(shù)據(jù)的一個(gè)的標(biāo)準(zhǔn)的處理,幾乎所有的數(shù)據(jù)處理過(guò)程都會(huì)涉及該步驟。

2)我們對(duì)特征進(jìn)行分箱后,需要對(duì)分箱后的每組(箱)進(jìn)行woe編碼和IV值的計(jì)算,通過(guò)IV值進(jìn)行變量篩選后,然后才能放進(jìn)模型訓(xùn)練。

3)分箱后需要進(jìn)行特征編碼,如:LabelEncode、OneHotEncode或LabelBinarizer等。


實(shí)踐代碼:

?

?

?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容