標籤:

sklearn中的one hot編碼

sklearn中的one hot編碼

4 人贊了文章

sklearn.preprocessing中的OneHotEncoder將shape=(None,1)的列向量中每個分量表示的下標(index)編碼成one hot行向量。

import numpy as npfrom sklearn.preprocessing import OneHotEncoder

行向量轉列向量:

# 非負整數表示的標籤列表labels = [0,1,0,2]# 行向量轉列向量labels = np.array(labels).reshape(len(labels), -1)

one hot編碼:

enc = OneHotEncoder()enc.fit(labels)targets = enc.transform(labels).toarray()

編碼結果:

array([[ 1., 0., 0.], [ 0., 1., 0.], [ 1., 0., 0.], [ 0., 0., 1.]])

編碼結果是one hot行向量,行向量的第index個分量為1,其餘為0。

推薦閱讀:

python編程基礎(一)
Python初學者好玩案例(二):聽兩個聊天機器人互相聊天(15行代碼)
最常用的十種機器學習演算法(附代碼)
【Python】Socket-Part4-TCP值得注意的地方

TAG:Python | sklearn |