真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么通過機(jī)器學(xué)習(xí)理解獨(dú)熱編碼

這篇文章主要介紹“怎么通過機(jī)器學(xué)習(xí)理解獨(dú)熱編碼”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“怎么通過機(jī)器學(xué)習(xí)理解獨(dú)熱編碼”文章能幫助大家解決問題。

做網(wǎng)站、成都做網(wǎng)站的關(guān)注點(diǎn)不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給創(chuàng)新互聯(lián)一個展示的機(jī)會來證明自己,這并不會花費(fèi)您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗(yàn),一切以用戶為中心。

導(dǎo)讀  

還有很多更好的選擇。

怎么通過機(jī)器學(xué)習(xí)理解獨(dú)熱編碼

獨(dú)熱編碼,也稱為dummy變量,是一種將分類變量轉(zhuǎn)換為若干二進(jìn)制列的方法,其中1表示屬于該類別的行。

怎么通過機(jī)器學(xué)習(xí)理解獨(dú)熱編碼

很明顯,從機(jī)器學(xué)習(xí)的角度來看,它不是分類變量編碼的好選擇。最明顯的是它增加了大量的維數(shù),這是常識,通常低維數(shù)是更好的。例如,如果我們要用一列表示美國的一個州(例如加利福尼亞、紐約),那么獨(dú)熱編碼方案將會導(dǎo)致50個額外的維度。

它不僅給數(shù)據(jù)集增加了大量的維數(shù),而且確實(shí)沒有多少信息 —— 一大堆零中偶爾點(diǎn)綴著幾個1。這導(dǎo)致了一個異常稀疏的現(xiàn)象,這使得它很難進(jìn)行最優(yōu)化。這對于神經(jīng)網(wǎng)絡(luò)來說尤其如此,它的優(yōu)化器在幾十個空維度的情況下很容易進(jìn)入錯誤的優(yōu)化空間。

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

怎么通過機(jī)器學(xué)習(xí)理解獨(dú)熱編碼

最優(yōu)數(shù)據(jù)集由信息具有獨(dú)立價值的特征組成,而獨(dú)熱編碼創(chuàng)建了一個完全不同的環(huán)境。

誠然,如果只有3個或者甚至4個類別,獨(dú)熱編碼可能不是一個糟糕的選擇,但是它可能值得探索其他選擇,這取決于數(shù)據(jù)集的相對大小。

目標(biāo)編碼是表示分類列的一種非常有效的方法,它只占用一個特征空間。也稱為均值編碼,將列中的每個值替換為該類別的均值目標(biāo)值。這允許對分類變量和目標(biāo)變量之間的關(guān)系進(jìn)行更直接的表示,這是一種非常流行的技術(shù)(尤其是在Kaggle比賽中)。

怎么通過機(jī)器學(xué)習(xí)理解獨(dú)熱編碼

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

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

由于每個類別的值都被相同的數(shù)值所取代,模型可能會傾向于過擬合它所看到的編碼值(例如,將0.8與某個與0.79完全不同的值相關(guān)聯(lián))。這是將連續(xù)尺度上的值當(dāng)作重復(fù)的類來處理的結(jié)果。

因此,需要仔細(xì)監(jiān)視y變量,以發(fā)現(xiàn)異常值等情況。

要實(shí)現(xiàn)這一點(diǎn),請使用category_encoders庫。由于目標(biāo)編碼器是一個受監(jiān)督的方法,它需要Xy訓(xùn)練集。

from category_encoders import TargetEncoder
enc = TargetEncoder(cols=['Name_of_col','Another_name'])
training_set = enc.fit_transform(X_train, y_train)

Leave-one-out encoding試圖通過計(jì)算平均值(不包括當(dāng)前行值)來彌補(bǔ)對y變量的依賴以及在值方面的多樣性。這將消除異常值的影響,并創(chuàng)建更多樣化的編碼值。

怎么通過機(jī)器學(xué)習(xí)理解獨(dú)熱編碼

由于模型對每個編碼類不僅給予相同的值,而且給予一個范圍,因此它學(xué)會了更好地泛化。

像往常一樣,可以在category_encoders庫中使用LeaveOneOutEncoder實(shí)現(xiàn)。

from category_encoders import LeaveOneOutEncoder
enc = LeaveOneOutEncoder(cols=['Name_of_col','Another_name'])
training_set = enc.fit_transform(X_train, y_train)
 

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

Bayesian Target Encoding是一種使用目標(biāo)作為編碼方法的數(shù)學(xué)方法。只使用平均值可能是一個欺騙的度量,所以貝葉斯目標(biāo)編碼試圖合并目標(biāo)變量的分布的其他統(tǒng)計(jì)度量,例如它的方差或偏度 —— 被稱為‘higher moments’。

這些分布的屬性然后通過貝葉斯模型合并,從而能夠產(chǎn)生一種編碼,這種編碼更了解分類目標(biāo)分布的各個方面。然而,其結(jié)果卻難以解釋。

Weight of Evidence是另一種關(guān)于分類自變量和因變量之間關(guān)系的方案。WoE 源自信用評分領(lǐng)域,被用來衡量違約或償還貸款的客戶之間的區(qū)別。Weight of Evidence的數(shù)學(xué)定義是比值比例的自然對數(shù),即:

ln (% of non events / % of events)

WoE越高,事件越有可能發(fā)生?!甆on-events’是那些不屬于某個類的百分比。使用Weight of Evidence因變量建立單調(diào)的關(guān)系,并在邏輯尺度上確保類別,這對于邏輯回歸來說很自然。WoE是另一個度量標(biāo)準(zhǔn) —— Information Value中的一個關(guān)鍵組件,IV值衡量一個特征如何為預(yù)測提供信息。

from category_encoders import WOEEncoder
enc = WOEEncoder(cols=['Name_of_col','Another_name'])
training_set = enc.fit_transform(X_train, y_train)

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

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

關(guān)于“怎么通過機(jī)器學(xué)習(xí)理解獨(dú)熱編碼”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。


文章名稱:怎么通過機(jī)器學(xué)習(xí)理解獨(dú)熱編碼
地址分享:http://weahome.cn/article/pehjcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部