chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

常見的11個分類變量編碼方法

新機器視覺 ? 來源:Deephub IMBA ? 作者:Deephub IMBA ? 2022-11-28 15:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

機器學(xué)習(xí)算法只接受數(shù)值輸入,所以如果我們遇到分類特征的時候都會對分類特征進行編碼,本文總結(jié)了常見的11個分類變量編碼方法。

1、ONE HOT ENCODING

最流行且常用的編碼方法是One Hot Enoding。一個具有n個觀測值和d個不同值的單一變量被轉(zhuǎn)換成具有n個觀測值的d個二元變量,每個二元變量使用一位(0,1)進行標識。

例如:

e6159f14-6d8f-11ed-8abf-dac502259ad0.png

編碼后:

最簡單的實現(xiàn)是使用pandas的' get_dummies

new_df=pd.get_dummies(columns=[‘Sex’], data=df)

2、Label Encoding

為分類數(shù)據(jù)變量分配一個唯一標識的整數(shù)。這種方法非常簡單,但對于表示無序數(shù)據(jù)的分類變量是可能會產(chǎn)生問題。比如:具有高值的標簽可以比具有低值的標簽具有更高的優(yōu)先級。

例如上面的數(shù)據(jù),我們編碼后得到了下面的結(jié)果:

e623e682-6d8f-11ed-8abf-dac502259ad0.png

sklearn的LabelEncoder 可以直接進行轉(zhuǎn)換:

from sklearn.preprocessing import LabelEncoder le=LabelEncoder() df[‘Sex’]=le.fit_transform(df[‘Sex’])

3、Label Binarizer

LabelBinarizer 是一個用來從多類別列表創(chuàng)建標簽矩陣的工具類,它將把一個列表轉(zhuǎn)換成一個列數(shù)與輸入集合中惟一值的列數(shù)完全相同的矩陣。

例如這個數(shù)據(jù):

轉(zhuǎn)化后結(jié)果為:

from sklearn.preprocessing import LabelBinarizer lb = LabelBinarizer() new_df[‘Sex’]=lb.fit_transform(df[‘Sex’])

4、Leave one out Encoding

Leave One Out 編碼時,目標分類特征變量對具有相同值的所有記錄會被平均以確定目標變量的平均值。在訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集之間,編碼算法略有不同。因為考慮到分類的特征記錄被排除在訓(xùn)練數(shù)據(jù)集外,因此被稱為“Leave One Out”。

對特定類別變量的特定值的編碼如下。

ci = (Σj != i tj / (n — 1 + R)) x (1 + εi) where ci = encoded value for ith record tj = target variable value for jth record n = number of records with the same categorical variable value R = regularization factor εi = zero mean random variable with normal distribution N(0, s)

例如下面的數(shù)據(jù):

e634c3bc-6d8f-11ed-8abf-dac502259ad0.png

編碼后:

為了演示這個編碼過程,我們創(chuàng)建數(shù)據(jù)集:

importpandasaspd; data = [[‘1’, 120], [‘2’, 120], [‘3’, 140], [‘2’, 100], [‘3’, 70], [‘1’, 100],[‘2’, 60], [‘3’, 110], [‘1’, 100],[‘3’, 70] ] df = pd.DataFrame(data, columns = [‘Dept’,’Yearly Salary’])

然后進行編碼:

import category_encoders as ce tenc=ce.TargetEncoder() df_dep=tenc.fit_transform(df[‘Dept’],df[‘Yearly Salary’]) df_dep=df_dep.rename({‘Dept’:’Value’}, axis=1) df_new = df.join(df_dep)

這樣就得到了上面的結(jié)果。

5、Hashing

當使用哈希函數(shù)時,字符串將被轉(zhuǎn)換為一個惟一的哈希值。因為它使用的內(nèi)存很少可以處理更多的分類數(shù)據(jù)。對于管理機器學(xué)習(xí)中的稀疏高維特征,特征哈希是一種有效的方法。它適用于在線學(xué)習(xí)場景,具有快速、簡單、高效、快速的特點。

例如下面的數(shù)據(jù):

e64761ca-6d8f-11ed-8abf-dac502259ad0.png

編碼后:

e653dbc6-6d8f-11ed-8abf-dac502259ad0.png

代碼如下:

from sklearn.feature_extraction import FeatureHasher # n_features contains the number of bits you want in your hash value. h = FeatureHasher(n_features = 3, input_type =’string’) # transforming the column after fitting hashed_Feature = h.fit_transform(df[‘nom_0’]) hashed_Feature = hashed_Feature.toarray() df = pd.concat([df, pd.DataFrame(hashed_Feature)], axis = 1) df.head(10)

6、Weight of Evidence Encoding

(WoE) 開發(fā)的主要目標是創(chuàng)建一個預(yù)測模型,用于評估信貸和金融行業(yè)的貸款違約風(fēng)險。證據(jù)支持或駁斥理論的程度取決于其證據(jù)權(quán)重或 WOE。

如果P(Goods) / P(Bads) = 1,則WoE為0。如果這個組的結(jié)果是隨機的,那么P(Bads) > P(Goods),比值比為1,證據(jù)的權(quán)重(WoE)為0。如果一組中P(Goods) > P(bad),則WoE大于0。

因為Logit轉(zhuǎn)換只是概率的對數(shù),或ln(P(Goods)/P(bad)),所以WoE非常適合于邏輯回歸。當在邏輯回歸中使用wo編碼的預(yù)測因子時,預(yù)測因子被處理成與編碼到相同的尺度,這樣可以直接比較線性邏輯回歸方程中的變量。

例如下面的數(shù)據(jù):

會被編碼為:

e69af4fc-6d8f-11ed-8abf-dac502259ad0.png

代碼如下:

from category_encoders import WOEEncoder df = pd.DataFrame({‘cat’: [‘a(chǎn)’, ‘b’, ‘a(chǎn)’, ‘b’, ‘a(chǎn)’, ‘a(chǎn)’, ‘b’, ‘c’, ‘c’], ‘target’: [1, 0, 0, 1, 0, 0, 1, 1, 0]}) woe = WOEEncoder(cols=[‘cat’], random_state=42) X = df[‘cat’] y = df.target encoded_df = woe.fit_transform(X, y)

7、Helmert Encoding

Helmert Encoding將一個級別的因變量的平均值與該編碼中所有先前水平的因變量的平均值進行比較。

反向 Helmert 編碼是類別編碼器中變體的另一個名稱。它將因變量的特定水平平均值與其所有先前水平的水平的平均值進行比較。

e6adb0ba-6d8f-11ed-8abf-dac502259ad0.png

會被編碼為:

代碼如下:

import category_encoders as ce encoder=ce.HelmertEncoder(cols=’Dept’) new_df=encoder.fit_transform(df[‘Dept’]) new_hdf=pd.concat([df,new_df], axis=1) new_hdf

8、Cat Boost Encoding

是CatBoost編碼器試圖解決的是目標泄漏問題,除了目標編碼外,還使用了一個排序概念。它的工作原理與時間序列數(shù)據(jù)驗證類似。當前特征的目標概率僅從它之前的行(觀測值)計算,這意味著目標統(tǒng)計值依賴于觀測歷史。

TargetCount:某個類別特性的目標值的總和(到當前為止)。

Prior:它的值是恒定的,用(數(shù)據(jù)集中的觀察總數(shù)(即行))/(整個數(shù)據(jù)集中的目標值之和)表示。

featucalculate:到目前為止已經(jīng)看到的、具有與此相同值的分類特征的總數(shù)。

編碼后的結(jié)果如下:

代碼:

import category_encoders category_encoders.cat_boost.CatBoostEncoder(verbose=0, cols=None, drop_invariant=False, return_df=True, handle_unknown=’value’, handle_missing=’value’, random_state=None, sigma=None, a=1) target = df[[‘target’]] train = df.drop(‘target’, axis = 1) # Define catboost encoder cbe_encoder = ce.cat_boost.CatBoostEncoder() # Fit encoder and transform the features cbe_encoder.fit(train, target) train_cbe = cbe_encoder.transform(train)

9、James Stein Encoding

James-Stein 為特征值提供以下加權(quán)平均值:

觀察到的特征值的平均目標值。

平均期望值(與特征值無關(guān))。

James-Stein 編碼器將平均值縮小到全局的平均值。該編碼器是基于目標的。但是James-Stein 估計器有缺點:它只支持正態(tài)分布。

它只能在給定正態(tài)分布的情況下定義(實時情況并非如此)。為了防止這種情況,我們可以使用 beta 分布或使用對數(shù)-比值比轉(zhuǎn)換二元目標,就像在 WOE 編碼器中所做的那樣(默認使用它,因為它很簡單)。

10、M Estimator Encoding:

Target Encoder的一個更直接的變體是M Estimator Encoding。它只包含一個超參數(shù)m,它代表正則化冪。m值越大收縮越強。建議m的取值范圍為1 ~ 100。

11、 Sum Encoder

Sum Encoder將類別列的特定級別的因變量(目標)的平均值與目標的總體平均值進行比較。在線性回歸(LR)的模型中,Sum Encoder和ONE HOT ENCODING都是常用的方法。兩種模型對LR系數(shù)的解釋是不同的,Sum Encoder模型的截距代表了總體平均值(在所有條件下),而系數(shù)很容易被理解為主要效應(yīng)。在OHE模型中,截距代表基線條件的平均值,系數(shù)代表簡單效應(yīng)(一個特定條件與基線之間的差)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    1040

    瀏覽量

    57128
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    616

    瀏覽量

    29566

原文標題:11 個常見的分類特征的編碼技術(shù)

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    三菱伺服電機的編碼器引腳的定義

    。下面的信息是基于常見系列和通用規(guī)范整理的,供您參考。 驅(qū)動器側(cè) (CN2接口) 通用引腳定義 伺服驅(qū)動器的編碼器接口通常標記為? CN2 。下面是常見的引腳信號定義,這是連接驅(qū)動器與伺服電機的核心。 信號
    的頭像 發(fā)表于 04-14 12:12 ?130次閱讀
    三菱伺服電機的<b class='flag-5'>編碼</b>器引腳的定義

    編碼器接口定義及標準接線方法

    、接線規(guī)范統(tǒng)一,是保證磁編碼器穩(wěn)定輸出位置信號、提高系統(tǒng)抗干擾能力的關(guān)鍵。本文從接口類型、電氣特性、引腳定義、標準接線、工程規(guī)范、故障處理六方面,系統(tǒng)闡述磁編碼器接口定義與標準接線方法
    的頭像 發(fā)表于 03-12 15:42 ?254次閱讀

    機器學(xué)習(xí)特征工程:分類變量的數(shù)值化處理方法

    編碼是機器學(xué)習(xí)流程里最容易被低估的環(huán)節(jié)之一,模型沒辦法直接處理文本形式的分類數(shù)據(jù),尺寸(Small/Medium/Large)、顏色(Red/Blue/Green)、城市、支付方式等都是典型的分類
    的頭像 發(fā)表于 02-10 15:58 ?443次閱讀
    機器學(xué)習(xí)特征工程:<b class='flag-5'>分類</b><b class='flag-5'>變量</b>的數(shù)值化處理<b class='flag-5'>方法</b>

    如何規(guī)范用、但不濫用局部變量(Local Variable)

    用局部變量寫它,改用數(shù)據(jù)流線或消息。 規(guī)則5:能用線就用線;能用移位寄存器/反饋節(jié)點就不要局部變量。 用什么方法避免使用局部變量(替代方案) 按
    發(fā)表于 02-04 08:42

    微電網(wǎng)常見分類:按電源類型、電壓等級、控制模式劃分詳解

    、電壓等級、控制模式劃分是行業(yè)內(nèi)最主流、最具實踐指導(dǎo)意義的三種分類方式。本文將圍繞這三大核心維度,詳細拆解微電網(wǎng)的常見分類,剖析各類別核心特征、適配場景及技術(shù)要點,為微電網(wǎng)的場景化應(yīng)用提供參考。
    的頭像 發(fā)表于 01-30 10:59 ?450次閱讀
    微電網(wǎng)<b class='flag-5'>常見分類</b>:按電源類型、電壓等級、控制模式劃分詳解

    使用博圖(TIA Portal)監(jiān)控PROFINET從站通訊狀態(tài)的兩方法

    如何使用博圖監(jiān)控Profinet從站通訊狀態(tài),這里有兩方法供你選擇。 方法一 | 使用DeviceStates指令 創(chuàng)建全局數(shù)據(jù)塊 在博圖項目中,創(chuàng)建一全局數(shù)據(jù)塊(DB),用于存儲
    的頭像 發(fā)表于 01-17 11:21 ?1500次閱讀
    使用博圖(TIA Portal)監(jiān)控PROFINET從站通訊狀態(tài)的兩<b class='flag-5'>個</b><b class='flag-5'>方法</b>

    PEC11J系列12mm SMD長壽命編碼器:特性、參數(shù)與應(yīng)用全解析

    PEC11J系列12mm SMD長壽命編碼器:特性、參數(shù)與應(yīng)用全解析 在電子設(shè)備的設(shè)計中,編碼器是一關(guān)鍵的組件,它能夠?qū)C械運動轉(zhuǎn)化為電信號,為設(shè)備的精確控制提供支持。今天我們要介紹
    的頭像 發(fā)表于 12-23 15:10 ?415次閱讀

    用戶對變量或寄存器進行位操作的方法

    嵌入式系統(tǒng)總是要用戶對變量或寄存器進行位操作。給定一整型變量a,寫兩段代碼,第一設(shè)置a的bit 3,第二清除a 的bit 3。在以上兩
    發(fā)表于 12-23 08:16

    LED顯示屏常見故障分類及處理方法

    常見故障分類LED顯示屏常見故障分為三類:LED模組常見故障、室內(nèi)全彩顯示屏故障及戶外全彩顯示屏故障。針對每一類故障,我們將詳細分析可能的原因,并提供具體的檢測與維修步驟。LED模組
    的頭像 發(fā)表于 12-18 15:48 ?1713次閱讀
    LED顯示屏<b class='flag-5'>常見</b>故障<b class='flag-5'>分類</b>及處理<b class='flag-5'>方法</b>

    增量式編碼器:精準測量背后的分類智慧

    高性價比、抗干擾強等優(yōu)勢,成為現(xiàn)代制造中不可或缺的“運動語言翻譯官”。而深入了解其分類體系,正是解鎖高效應(yīng)用的第一把鑰匙。 一、通道維度:從單相到三通道,功能逐級進階 增量式編碼器的核心分類依據(jù)之一是輸出通道
    的頭像 發(fā)表于 10-22 08:44 ?803次閱讀

    11編碼器:工業(yè)控制領(lǐng)域的“精密之眼”

    在智能制造與工業(yè)自動化的浪潮中,11編碼器以其高精度、高可靠性和靈活適配性,成為工業(yè)設(shè)備運動控制的核心元件。無論是精密加工機床、自動化生產(chǎn)線,還是新能源汽車、智能家居設(shè)備,11編碼
    的頭像 發(fā)表于 10-17 08:36 ?642次閱讀
    <b class='flag-5'>11</b>型<b class='flag-5'>編碼</b>器:工業(yè)控制領(lǐng)域的“精密之眼”

    PLC中Static和Temp變量的區(qū)別

    大家好,收到粉絲投稿,讓博主講下Static變量和Temp變量的區(qū)別,新入行的兄弟可能會對這兩概念不太能理解。
    的頭像 發(fā)表于 09-24 14:51 ?1614次閱讀
    PLC中Static和Temp<b class='flag-5'>變量</b>的區(qū)別

    量子機器學(xué)習(xí)入門:三種數(shù)據(jù)編碼方法對比與應(yīng)用

    在傳統(tǒng)機器學(xué)習(xí)中數(shù)據(jù)編碼確實相對直觀:獨熱編碼處理類別變量,標準化調(diào)整數(shù)值范圍,然后直接輸入模型訓(xùn)練。整個過程更像是數(shù)據(jù)清洗,而非核心算法組件。量子機器學(xué)習(xí)的編碼完全是另一回事。傳統(tǒng)算
    的頭像 發(fā)表于 09-15 10:27 ?942次閱讀
    量子機器學(xué)習(xí)入門:三種數(shù)據(jù)<b class='flag-5'>編碼方法</b>對比與應(yīng)用

    高溫電阻率測試中的5常見錯誤及規(guī)避方法

    測試結(jié)果出現(xiàn)偏差。下面為你詳細剖析高溫電阻率測試中的 5 常見錯誤,并提供有效的規(guī)避方法。? 一、樣品制備不當? 常見錯誤? 樣品的形狀、尺寸和表面狀態(tài)對高溫電阻率測試結(jié)果影響顯著。
    的頭像 發(fā)表于 06-09 13:07 ?1039次閱讀
    高溫電阻率測試中的5<b class='flag-5'>個</b><b class='flag-5'>常見</b>錯誤及規(guī)避<b class='flag-5'>方法</b>

    常見的PFC拓撲架構(gòu)及控制方法

    本期,芯朋微技術(shù)團隊將為各位fans分享常見的PFC拓撲架構(gòu)及控制方法,為設(shè)計選型提供參考。
    的頭像 發(fā)表于 04-27 18:03 ?8445次閱讀
    <b class='flag-5'>常見</b>的PFC拓撲架構(gòu)及控制<b class='flag-5'>方法</b>