所以,目前我有一堆我正在轉型爲一個熱碼如下從功能獲取映射到一個熱碼尺寸
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
X_str = np.array([['a', 'dog', 'red'], ['b', 'cat', 'green']])
# transform to integer
X_int = LabelEncoder().fit_transform(X_str.ravel()).reshape(*X_str.shape)
# transform to binary
X_bin = OneHotEncoder().fit_transform(X_int).toarray()
print(X_bin)
# [[ 1. 0. 0. 1. 0. 1.]
# [ 0. 1. 1. 0. 1. 0.]]
此工程串類別特徵。
但是,我試圖找出從特徵,其尺寸被激活
因此,例如映射,「A」被映射到0(如在特徵向量的第0索引被設置爲1 )
「b」被映射到1(作爲特徵向量的第一索引被設置爲1)
「貓」被映射到2(作爲特徵向量的第二索引被設置爲1)
所以,我想要在字典中得到所有這些映射。 什麼是實現這些的好方法。
謝謝..我有一個跟進..如果我的功能是一樣的東西 'X_str = np.array([1, 'A', '狗', '紅' ],[2,'b','dog','green']])' 現在le只會變換字符串變量,但是然後'onehotencodenc'將會映射第一列以及..如何得到它們的映射? – Fraz
@Fraz我不理解。如果用給定的數據替換X_str,那麼labelEncoder也會對它們進行編碼。檢查輸出: - '{'a':2,'b':3,'dog':4,'1':0,'2':1,'green':5,'red':6} –
@Fraz查看數據中的1和2編碼爲「1」和「2」。這是你想要的嗎 ? –