想用自己的資料進行獨熱編碼,一開始沒用官方的程式。
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...