0
字幕組雙語原文:請停止對分類變量進行獨熱編碼!
英語原文:Stop One-Hot Encoding Your Categorical Variables.
獨熱編碼,又稱虛擬變量,是一種將分類變量轉(zhuǎn)換為若干二進制列的方法,其中1表示存在屬于該類別的那一行。
很顯然,從機器學習的角度來看,它并不是一個對分類變量編碼的很好的選擇。
一般來說,維度的數(shù)量越低越好,而這種方法很明顯增加了大量的維度。例如,如果我們要有一列代表美國的州(比如加州、紐約州),獨熱編碼就會增加五十個維度。
它不僅給數(shù)據(jù)集增加了大量的維度,而且冗余信息太多——1偶爾點綴在零的海洋中。這個異常稀疏的矩陣,使得它很難處理優(yōu)化問題。對于神經(jīng)網(wǎng)絡來說尤其如此,這幾十個空的維度使得神經(jīng)網(wǎng)絡的優(yōu)化器在錯誤空間中尋找最優(yōu)解時就會遇到許多麻煩。
更糟糕的是,每一個信息稀疏的列之間都有線性關系。這意味著一個變量可以很容易地使用其他變量進行預測,高維度下這會造成的并行性和多線性問題。
最優(yōu)的數(shù)據(jù)集由獨立且包含有價值信息的特征組成,而獨熱編碼張成的空間卻不是這樣的。
當然,如果只有三個或四個類別,獨熱編碼可能還不是那么糟糕,但根據(jù)數(shù)據(jù)集的相對大小,探索其他選擇也是值得。
目標編碼是表示分類列的一種非常有效的方法,只占用一個特征的空間。其又稱均值編碼,列中的每個值都用該類別的目標均值代替。這樣可以更直接地表示分類變量和目標變量之間的關系,是一種非常流行的技術(尤其是在Kaggle比賽上)。
這種編碼方法有一些缺點。首先,它使模型更難學習均值編碼變量和另一變量之間的關系,它只根據(jù)一列變量與目標變量的關系來得出相似性,這既可能是個優(yōu)點也可能是個缺點。
但主要的是,這種編碼方法會對變量y非常敏感,從而影響模型提取編碼信息的能力。
由于類別的每一個值都被替換為相同的數(shù)值,模型可能會傾向于過擬合它所見的編碼值(比如將0.8與0.79聯(lián)系成完全不同的東西)。這就是將連續(xù)值視為大量重復類的影響。
因此,需要仔細監(jiān)控y變量是否存在異常值。
要實現(xiàn)這一點,可以使用category_encoders庫。由于目標編碼器是一種監(jiān)督方法,所以它需要包含x和y兩個值才能訓練。
留一法編碼試圖彌補這種對y變量的依賴,并通過排除當前行的數(shù)值來計算平均值作為編碼,使數(shù)值更加多樣化。這種方法可以消除離群值的影響,并生成了更多樣化的編碼值。
由于該方法顯示了每個編碼類相同的數(shù)值和范圍,因此他可以學到更好的泛化能力。
與其他方法一樣,留一法編碼可以通過category_encoders庫中的LeaveOneOutEncoder來進行實現(xiàn)。
另一種能實現(xiàn)類似效果的方法是在編碼中加入正態(tài)分布的噪聲,其中正態(tài)分布的標準差是一個可調(diào)節(jié)的參數(shù)。
貝葉斯標簽編碼是一種更偏向數(shù)學的方法,將標簽作為一種編碼方法。只使用平均數(shù)作為度量可能存在一定的欺騙性,因此貝葉斯標簽編碼尋求納入標簽變量分布的其他統(tǒng)計量,例如它的方差或偏度--被稱為 "高矩"。
然后通過貝葉斯模型將這些分布的屬性納入其中,從而能夠產(chǎn)生一個更了解類別標簽分布的編碼。但是,這種方法結(jié)果可解釋性較差。
證據(jù)權(quán)重是對分類獨立變量和因變量之間的關系的另一種微妙的表現(xiàn)。WoE是從信用評分領域演變而來的。它用于衡量違約客戶和還款客戶之間的差異。證據(jù)權(quán)重的數(shù)學定義是幾率比的自然對數(shù):
ln (% of non events / % of events) |
WoE越高,表明事件發(fā)生的可能性越大。'非事件'是那些不在某個類別中的事件發(fā)生的百分比。對于邏輯回歸來說,使用證據(jù)權(quán)重建立與因變量的單調(diào)關系(永遠不會停止向一個方向發(fā)展),并確保邏輯尺度上的類別,這是很自然的一件事。WoE還是另一個度量指標 "信息值 "的關鍵組成部分,它可以衡量一個特征能為預測提供的信息量大小。
這些方法都是有監(jiān)督的編碼器,或者說是考慮目標變量的編碼方法,因此他們在預測任務中大都效果較好。然而當需要進行無監(jiān)督分析時,他們就未必能取得類似的結(jié)果。
非線性PCA是一種通過使用分類量化來處理分類變量的PCA方法。它可以為類別找到最佳的數(shù)值,從而使常規(guī)PCA的性能(解釋方差)最大化。在下面閱讀更多信息:
超越普通PCA:非線性主成分分析
在這里的類別編碼文檔中探索其他幾種編碼選項。
感謝您的閱讀!
雷鋒字幕組是一個由 AI 愛好者組成的翻譯團隊,匯聚五百多位志愿者的力量,分享最新的海外AI資訊,交流關于人工智能技術領域的行業(yè)變革與技術創(chuàng)新的見解。
團隊成員有大數(shù)據(jù)專家、算法工程師、圖像處理工程師、產(chǎn)品經(jīng)理、產(chǎn)品運營、IT咨詢?nèi)?、在校師生;志愿者們來自IBM、AVL、Adobe、阿里、百度等知名企業(yè),北大、清華、港大、中科院、南卡羅萊納大學、早稻田大學等海內(nèi)外高校研究所。
如果,你也是位熱愛分享的AI愛好者。歡迎與雷鋒字幕組一起,學習新知,分享成長。
雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。