溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

對(duì)python sklearn one-hot編碼詳解

發(fā)布時(shí)間:2020-10-22 12:39:27 來源:腳本之家 閱讀:430 作者:HAHAHA- 欄目:開發(fā)技術(shù)

one-hot編碼的作用

使用one-hot編碼,將離散特征的取值擴(kuò)展到了歐式空間,離散特征的某個(gè)取值就對(duì)應(yīng)歐式空間的某個(gè)點(diǎn)

將離散特征通過one-hot編碼映射到歐式空間,是因?yàn)?,在回歸,分類,聚類等機(jī)器學(xué)習(xí)算法中,特征之間距離的計(jì)算或相似度的計(jì)算是非常重要的,而我們常用的距離或相似度的計(jì)算都是在歐式空間的相似度計(jì)算,計(jì)算余弦相似性,基于的就是歐式空間。

sklearn的一個(gè)例子

from sklearn import preprocessing

enc = preprocessing.OneHotEncoder()

enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]])
print(enc.n_values_)//每個(gè)特征對(duì)應(yīng)的最大位數(shù)

print(enc.transform([[0,1,3]]).toarray())

print(enc.transform([[0,1,1]]).toarray())

上面代碼enc.fit()里有一個(gè)4行3列的矩陣

1、每一列對(duì)應(yīng)于一個(gè)樣本的特征序列,即一個(gè)樣本有三個(gè)特征

2、4行表明傳入了4個(gè)樣本

3、觀察每一列的值可以知道:第一個(gè)特征有兩個(gè)取值0,1;第二個(gè)特征有三個(gè)取值0,1,2;第三個(gè)特征有4個(gè)取值0,1,2,3

4、所以第一個(gè)特征的one-hot編碼是一個(gè)兩位的01串,第二個(gè)特征是一個(gè)三位的01串,第三個(gè)特征是一個(gè)4位的01串

以上這篇對(duì)python sklearn one-hot編碼詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI