偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

別再對(duì)分類變量進(jìn)行獨(dú)熱編碼!你還有更好的選擇

開發(fā) 前端
獨(dú)熱編碼(又稱虛擬變量)是一種將分類變量轉(zhuǎn)換為若干二進(jìn)制列的方法,其中1表示存在屬于該類別的行。顯然,從機(jī)器學(xué)習(xí)的角度來(lái)看,它并不適合對(duì)分類變量進(jìn)行編碼。

本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)。

[[343458]]

獨(dú)熱編碼(又稱虛擬變量)是一種將分類變量轉(zhuǎn)換為若干二進(jìn)制列的方法,其中1表示存在屬于該類別的行。顯然,從機(jī)器學(xué)習(xí)的角度來(lái)看,它并不適合對(duì)分類變量進(jìn)行編碼。

很明顯,它增加了大量的維度,但通常來(lái)說(shuō),維數(shù)越小越好。例如,如果設(shè)置一個(gè)列代表美國(guó)的州(例如加利福尼亞州、紐約州)的話,那么獨(dú)熱編碼方案將會(huì)多出50個(gè)維度。

這樣做不僅會(huì)為數(shù)據(jù)集增加大量維度,而且實(shí)際上并沒有太多信息——大量0中零散分布著幾個(gè)1。這使得優(yōu)化難以進(jìn)行,對(duì)于神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō)尤其如此,其優(yōu)化器在大量的空白維度中很容易進(jìn)入錯(cuò)誤的空間。

更糟糕的是,每個(gè)信息稀疏列之間都具有線性關(guān)系。這意味著一個(gè)變量可以很容易地使用其他變量進(jìn)行預(yù)測(cè),從而可能導(dǎo)致高維的并行性和多重共線性問(wèn)題。

別再對(duì)分類變量進(jìn)行獨(dú)熱編碼!你還有更好的選擇

最佳數(shù)據(jù)集包含了信息具有獨(dú)立價(jià)值的特征,而獨(dú)熱編碼可創(chuàng)建一個(gè)完全不同的環(huán)境。當(dāng)然,如果只有三個(gè)或甚至四個(gè)類,那么獨(dú)熱編碼可能并不是一個(gè)糟糕的選擇。不過(guò)根據(jù)數(shù)據(jù)集的相對(duì)大小,其他的替代方法有可能值得一探。

目標(biāo)編碼可以有效表示分類列,而且僅占用一個(gè)特征空間。它也稱為均值編碼,該列中的每個(gè)值都被該類別的平均目標(biāo)值代替。這樣可以更直接地表示分類變量和目標(biāo)變量之間的關(guān)系,并且這也是一種非常流行的技術(shù)(尤其是在Kaggle比賽中)。

這種編碼方法有一些缺點(diǎn)。首先,它使模型更難以學(xué)習(xí)均值編碼變量和另一個(gè)變量之間的關(guān)系。它只能根據(jù)它與目標(biāo)的關(guān)系在在列中繪制相似性,這有利有弊。

這種編碼方法對(duì)y變量非常敏感,會(huì)影響模型提取編碼信息的能力。

由于該類別的每個(gè)值都被相同的數(shù)值替換,因此該模型可能會(huì)趨于過(guò)擬合它所看到的編碼值(例如,將0.8與完全不同于0.79的值相關(guān)聯(lián))。這是將連續(xù)規(guī)模上的值視為嚴(yán)重重復(fù)的類處理的結(jié)果。因此,需要仔細(xì)監(jiān)控y變量是否存在異常值。

為實(shí)現(xiàn)這一目的,可以使用category_encoders庫(kù)。目標(biāo)編碼器是一種受監(jiān)督的方法,因此需要X和y訓(xùn)練集。

  1. from category_encoders importTargetEncoder 
  2.                   enc =TargetEncoder(cols=['Name_of_col','Another_name']) 
  3.                   training_set = enc.fit_transform(X_train, y_train) 

留一法編碼(Leave-one-out encoding)試圖通過(guò)計(jì)算平均值(不包括當(dāng)前行值)來(lái)彌補(bǔ)對(duì)y變量和值多樣性的依賴。這使異常值的影響趨于平穩(wěn),并創(chuàng)建了更多不同的編碼值。

別再對(duì)分類變量進(jìn)行獨(dú)熱編碼!你還有更好的選擇

模型不僅為每個(gè)編碼的類提供了相同的值,還為其提供了一個(gè)范圍,可以更好地進(jìn)行泛化??梢韵裢R粯邮褂肔eaveOneOutEncoder在category_encoders庫(kù)中執(zhí)行實(shí)現(xiàn)。

  1. from category_encoders importLeaveOneOutEncoder 
  2.                    enc =LeaveOneOutEncoder(cols=['Name_of_col','Another_name']) 
  3.                    training_set = enc.fit_transform(X_train, y_train) 

實(shí)現(xiàn)類似效果的另一種策略是將正態(tài)分布的噪聲添加到編碼分?jǐn)?shù)中,其中標(biāo)準(zhǔn)偏差是可以調(diào)整的參數(shù)。

貝葉斯目標(biāo)編碼(Bayesiantarget encoding)是一種將目標(biāo)用作編碼方法的數(shù)學(xué)方法。僅使用均值可能是一種欺騙性度量,因此貝葉斯目標(biāo)編碼試圖結(jié)合使用其他統(tǒng)計(jì)量來(lái)衡量目標(biāo)變量的分布,例如其方差或偏度(highermoments)。

然后,通過(guò)貝葉斯模型合并這些分布的屬性,該模型能夠產(chǎn)生一種編碼,這種編碼可以更清楚類別目標(biāo)分布的各個(gè)方面。但是,結(jié)果卻難以解釋。

證據(jù)權(quán)重(WoE)是對(duì)分類自變量與因變量之間關(guān)系的另一種細(xì)微看法。WoE源自信用評(píng)分行業(yè),用于衡量拖欠或償還貸款的客戶之間的差別。證據(jù)權(quán)重的數(shù)學(xué)定義是優(yōu)勢(shì)比的自然對(duì)數(shù),或:

  1. ln (% of non events / % of events) 

WoE越高,事件發(fā)生的可能性就越大。“Non-events”是指那些不屬于某個(gè)類的事件所占的百分比。使用證據(jù)權(quán)重與因變量建立單調(diào)(永不停止朝一個(gè)方向發(fā)展)關(guān)系,并在邏輯尺度范圍內(nèi)確保類別。WoE是“信息價(jià)值”指標(biāo)的關(guān)鍵組成部分,該指標(biāo)用于衡量功能如何為預(yù)測(cè)提供信息。

  1. from category_encoders importWOEEncoder 
  2.                   enc =WOEEncoder(cols=['Name_of_col','Another_name']) 
  3.                   training_set = enc.fit_transform(X_train, y_train) 

這些方法是監(jiān)督編碼器,或者是考慮目標(biāo)變量的編碼方法,因此在預(yù)測(cè)任務(wù)中它們通常是更有效的編碼器。但是,當(dāng)需要執(zhí)行無(wú)監(jiān)督分析時(shí),就并不一定是這種情況了。

非線性PCA(Nonlinear PCA)是一種處理主成分分析的方法,可以通過(guò)使用分類量化來(lái)處理分類變量。這樣可以找到類別的最佳數(shù)值,從而使常規(guī)PCA的性能(解釋的方差)最大化。

別再對(duì)分類變量進(jìn)行獨(dú)熱編碼!你還有更好的選擇

下次遇到分類變量別再進(jìn)行獨(dú)熱編碼啦,這么多種方法任君挑選!

 

責(zé)任編輯:趙寧寧 來(lái)源: 讀芯術(shù)
相關(guān)推薦

2020-12-30 06:19:15

編碼分類特征數(shù)字特征

2020-07-20 12:43:31

Go變量命名

2023-09-20 00:33:23

SQL數(shù)據(jù)庫(kù)

2020-05-19 17:09:33

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

2011-03-25 09:08:49

C#

2015-09-28 14:27:12

硬編默認(rèn)選擇

2016-12-02 17:14:46

2020-04-02 10:36:43

JS代碼函數(shù)

2022-11-06 15:35:53

機(jī)器學(xué)習(xí)算法編碼

2020-09-16 14:46:37

開發(fā)技能代碼

2022-04-20 15:10:55

pandas編碼函數(shù)

2022-07-11 13:30:08

Pandas數(shù)據(jù)編碼代碼

2025-04-09 00:00:00

2024-07-25 18:20:03

2010-01-15 18:06:20

C++引用

2010-02-02 13:59:11

Python編寫

2021-03-15 10:23:44

IT支出技術(shù)投資CIO

2016-10-20 16:09:03

技術(shù)預(yù)見互聯(lián)網(wǎng)技術(shù)路線圖

2021-10-15 09:53:12

工具

2016-01-26 11:23:18

點(diǎn)贊
收藏

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