獨熱編碼函式
阿新 • • 發佈:2018-12-19
想用自己的資料進行獨熱編碼,一開始沒用官方的程式。
from sklearn import preprocessing
enc = preprocessing.OneHotEncoder()
想用這個函式的可以參考博主https://www.cnblogs.com/webRobot/p/8831069.html
我找的是GitHub裡的一個程式https://github.com/lahneh/LSTM-Human-Activity-Recognition
可以參考下。
程式碼貼上:
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
參考:https://blog.csdn.net/qq_30163461/article/details/80080529
不知道為什麼在我這裡又不行。。。
然後我直接轉了
label= np.array(label)
執行之後可行。
最後要注意,python是從0開始的,所以在給資料做標籤時最好也從0開始,不然會報錯說size不同,不能轉化。