中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么通過機器學習理解獨熱編碼

發布時間:2022-03-28 17:20:28 來源:億速云 閱讀:326 作者:iii 欄目:大數據

這篇文章主要介紹“怎么通過機器學習理解獨熱編碼”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么通過機器學習理解獨熱編碼”文章能幫助大家解決問題。

導讀  

還有很多更好的選擇。

怎么通過機器學習理解獨熱編碼

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

怎么通過機器學習理解獨熱編碼

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

它不僅給數據集增加了大量的維數,而且確實沒有多少信息 —— 一大堆零中偶爾點綴著幾個1。這導致了一個異常稀疏的現象,這使得它很難進行最優化。這對于神經網絡來說尤其如此,它的優化器在幾十個空維度的情況下很容易進入錯誤的優化空間。

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

怎么通過機器學習理解獨熱編碼

最優數據集由信息具有獨立價值的特征組成,而獨熱編碼創建了一個完全不同的環境。

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

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

怎么通過機器學習理解獨熱編碼

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

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

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

因此,需要仔細監視y變量,以發現異常值等情況。

要實現這一點,請使用category_encoders庫。由于目標編碼器是一個受監督的方法,它需要Xy訓練集。

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試圖通過計算平均值(不包括當前行值)來彌補對y變量的依賴以及在值方面的多樣性。這將消除異常值的影響,并創建更多樣化的編碼值。

怎么通過機器學習理解獨熱編碼

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

像往常一樣,可以在category_encoders庫中使用LeaveOneOutEncoder實現。

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

另一個實現類似效果的策略是在編碼分數中加入正態分布的噪聲,其中標準偏差是一個可以調優的參數。

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

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

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

ln (% of non events / % of events)

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

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

這些方法都是監督編碼器,或考慮目標變量的編碼方法,因此在預測任務中通常是更有效的編碼器。但是,當需要執行非監督分析時,情況就不一定是這樣了。

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

關于“怎么通過機器學習理解獨熱編碼”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元阳县| 溧水县| 林甸县| 菏泽市| 五原县| 阳曲县| 寻甸| 岗巴县| 老河口市| 屏东县| 交口县| 麻城市| 海林市| 红河县| 大荔县| 延寿县| 乐陵市| 中西区| 古交市| 万全县| 原平市| 南安市| 仙居县| 尤溪县| 蒙阴县| 丹东市| 灵石县| 庆阳市| 盐边县| 宿迁市| 土默特右旗| 淮安市| 西丰县| 高邮市| 龙里县| 开江县| 盐城市| 保山市| 利川市| 定西市| 永新县|