日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
別再對分類變量進行獨熱編碼!你還有更好的選擇

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

目前成都創(chuàng)新互聯(lián)公司已為上千多家的企業(yè)提供了網(wǎng)站建設、域名、虛擬主機、網(wǎng)站托管運營、企業(yè)網(wǎng)站設計、浙江網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

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

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

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

更糟糕的是,每個信息稀疏列之間都具有線性關系。這意味著一個變量可以很容易地使用其他變量進行預測,從而可能導致高維的并行性和多重共線性問題。

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

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

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

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

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

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

 
 
 
 
  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)試圖通過計算平均值(不包括當前行值)來彌補對y變量和值多樣性的依賴。這使異常值的影響趨于平穩(wěn),并創(chuàng)建了更多不同的編碼值。

模型不僅為每個編碼的類提供了相同的值,還為其提供了一個范圍,可以更好地進行泛化。可以像往常一樣使用LeaveOneOutEncoder在category_encoders庫中執(zhí)行實現(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) 

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

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

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

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

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

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

 
 
 
 
  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)督編碼器,或者是考慮目標變量的編碼方法,因此在預測任務中它們通常是更有效的編碼器。但是,當需要執(zhí)行無監(jiān)督分析時,就并不一定是這種情況了。

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

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


網(wǎng)頁名稱:別再對分類變量進行獨熱編碼!你還有更好的選擇
標題來源:http://m.5511xx.com/article/codohhc.html