獨熱編碼函式

2021-09-02 17:31:50 字數 733 閱讀 2373

想用自己的資料進行獨熱編碼,一開始沒用官方的程式。

from sklearn import preprocessing

enc = preprocessing.onehotencoder()

想用這個函式的可以參考博主

我找的是github裡的乙個程式

可以參考下。

**貼上:

def one_hot(y_, n_classes):  #對輸出結果進行獨熱編碼

y_ =y_.reshape(len(y_))

return np.eye(n_classes)[np.array(y_, dtype=np.int32)]

那麼問題來了:一直報錯

attributeerror: 'dataframe' object has no attribute 'reshape'

這是因為我的資料是dataframe格式的,要將他轉化成nparray格式才好用。

於是,我又找dataframe轉nparray的操作

df.values

參考:不知道為什麼在我這裡又不行。。。

然後我直接轉了

label= np.array(label)
執行之後可行。

最後要注意,python是從0開始的,所以在給資料做標籤時最好也從0開始,不然會報錯說size不同,不能轉化。

One Hot encoder獨熱編碼

ref 1 什麼是獨熱碼 獨熱碼,在英文文獻中稱做 one hot code,直觀來說就是有多少個狀態就有多少位元,而且只有乙個位元為1,其他全為0的一種碼制。在機器學習中對於離散型的分型別的資料,需要對其進行數位化比如說性別這一屬性,只能有男性或者女性或者其他這三種值,如何對這三個值進行數位化表達...

獨熱編碼 One Hot Eocode

假設現在我們要對5張手寫數字進行分類,這些數字的標籤labels的範圍是0 9,形成 5,的行向量,為 5,4,3,8,7 labels 5,4,3,8,7 num classes 10 batch size tf.size labels labels表示的標籤,5張有5個標籤。batch size...

Python實現獨熱編碼

關於獨熱編碼與啞變數編碼的概念,可以參考 離散特徵的編碼分為兩種情況 1 離散特徵的取值之間沒有大小的意義,比如color red,blue 此時可以使用one hot編碼 2 離散特徵的取值有大小的意義,比如size x,xl,xxl 此時可以使用數值的對映。import pandas as pd...